-7

この割り当てで少し問題が発生しました。従業員の支払いを計算することです。たとえば、ユーザーに時給と労働時間数を入力して支払い額を計算する Python プログラムを作成します。40時間以上の勤務は、時給1.5倍(通常時給の1.5倍)で支給。if/else を使用してプログラムのバージョンを作成します。これまでのコードはこれです

hours = int(input('how many hours did you work? '))
rate = 1.50
rate = (hours/2)+hours*(rate+1.5)
if hours<40:
 print("you earn",rate)
4

4 に答える 4

3

ユーザーから時間レートの両方を入力する必要がある場合は、次のようにできます。

hours = int(input('how many hours did you work? '))
rate = int(input('what is your hourly rate? '))

次に、これらの変数を取得したら、残業時間を計算することから始めることができます。

if hours > 40:
  # anything over 40 hours earns the overtime rate
  overtimeRate = 1.5 * rate
  overtime = (hours-40) * overtimeRate
  # the remaining 40 hours will earn the regular rate
  hours = 40
else:
  # if you didn't work over 40 hours, there is no overtime
  overtime = 0

次に、通常の時間を計算します。

regular = hours * rate

お支払い総額はregular + overtimeです。

于 2013-07-30T23:42:49.980 に答える
2
print("you earn", (hours + max(hours - 40, 0) * 0.5) * rate)

またはゴルフバージョンの場合

print("you earn", (hours*3-min(40,hours))*rate/2)
于 2013-07-31T00:21:22.343 に答える
1

あなたが使用することができます:

pay = rate * min(hours, 40)
if hours > 40:
    pay += rate * 1.5 * (hours - 40)

労働時間数に応じて給与計算を調整するため。

おそらく、このリソースに精通しているはずです。

于 2013-07-30T23:41:02.597 に答える
0

いくつかのヒント:

  • ユーザーに時給も要求する必要があります。
  • rate * 1.5はありませんrate + 1.5この料金は 40 時間以降にのみ適用されるため、最初の 40 時間は通常の料金を適用します。

    if hours <= 40:
        total = hours * rate
    else:
        total = 40 * rate + (hours - 40) * (1.5 * rate)
    
于 2013-07-30T23:40:51.363 に答える