2017-01-11 6 views
0

こんにちは私はプログラミングに初めてで、Pythonを学んだばかりです。raw_inputを使用して、時給と時間をプロンプトする以下のコード/プログラムを作成しました。私は40時間以上働いていたすべての時間に対して1時間30分率を開始しようとしました。 computepay()と呼ばれる関数で時間と半分の計算を行い、関数を使って計算を行うロジックです。関数は値を返す必要があります。私はプログラムをテストするために45時間と1時間に10.50の割合を使用しました(支払いは498.75を返すべきです)。 raw_inputを使って文字列を読み込み、文字列を数値に変換するためにfloat()を使ってみました。 i変数sumに名前をつけたり、sum()関数を使用したりしないでください。私は出力を印刷することができていますが、あなたは引数が入力ではなく、手動で入力したものに等しくなるようにしたいということで意味場合は、「line16」ユーザ定義関数を使用した場合のデータのraw_input方法:

def computePay (hours,rate): 
    if hours > 40: 
     overtimerate = 1.5 * rate 
     overtime = (hours-40) * overtimerate 
     overtimepay = overtime + (40 * rate) 
     return overtimepay; 
    else: 
     normalpay = hours * rate 
     return normalpay; 
hours = raw_input('Enter hours: ') 
hrs = int(hours) 
rate = raw_input('Enter rate: ') 
r = float(rate) 
p = computePay(45,10.50) 
print p 
+1

はまさに、あなたの質問は何ですか?なぜあなたは入力を受け取り、それを無視するのですか?また、あなたのコードサンプルの字下げが全面にありますので、修正して[mcve]を提供してください。 – jonrsharpe

+0

'p = computePay(hrs、r)'のように、必要なデータを保持する変数を使用してください。 – tdelaney

+0

tdelaney、時間をかけて私のリクエストを見直してくれてありがとう。私はP = computePay(hrs、r)を試しましたが、エラーが発生しました。 "計算を行うには、computepayという関数を使用する必要があります。" – vgrg

答えて

1

仮定を

私はあなたの質問を理解する上で、以下の仮定をしなければならなかった:

  1. はあなたがユーザー入力時間とレートを使用してcomputePayしたいpython2.x
  2. を使用している、あなたのprint文を見てみます。

問題:あなたの場合は

あなたの代わりにユーザーinputed値

p = computePay(45,10.50) 

ソリューションを使用して、一定の時間とr値を使用している次の行にユーザが入力した値を使用して支払いを計算したい場合は、次のように関数を呼び出す必要があります。

p = computePay(hrs, r) 

この行では、本質的に、変数hrsとrに格納された値を使用してpythonにcomputePayを要求しています。

最終的なコード:

したがって、あなたの最終的なコードがこれを好きなはずです

def computePay (hours,rate): 
    if hours > 40: 
     overtimerate = 1.5 * rate 
     overtime = (hours-40) * overtimerate 
     overtimepay = overtime + (40 * rate) 
     return overtimepay; 
    else: 
     normalpay = hours * rate 
     return normalpay; 
hours = raw_input('Enter hours: ') 
hrs = int(hours) 
rate = raw_input('Enter rate: ') 
r = float(rate) 
p = computePay(hrs,r) 
print p 

サンプル出力:

Enter hours: 55 
Enter rate: 20 
1250.0 
+0

時間がかかり、リクエストを見直してくれてありがとうございます。P = coumputePay(hrs、r)を試しましたがエラーが発生しました。計算を行う計算機 " – vgrg

+0

@vgrg現在使用しているコードを投稿してください。実際のエラーpythonが出てきます。 健全性チェックのカップル: 1. computePay関数を呼び出す前に定義する必要があります。 2.自分のソリューションから「最終コード」を貼り付けることができます。それは動作するはずです。 –

+0

コード.1)はい!あなたは正しいです、私はそれを呼び出す前にcomputePay関数を定義しようとしています。 2)あなたのコードをコピーしようとしましたが、同じエラーが発生しました#計算のためにcomputepayという関数を使用しなければなりません# – vgrg

0

に値を入力環境とは異なり、メッセージが表示されたら、私は入力にデータを必要とします、あなたの代わりに行う必要があります。

p = computePay(hrs, r) 

出力例:

Enter hours: 45 
Enter rate: 10.5 
498.75 
+0

アンソニー、時間を取って、私の要求を見直すためにたくさんありがとう。エラーを取得する "計算を行うにはcomputepayという関数を使わなければなりません" – vgrg

関連する問題