0

労働時間と時給を入力し、賃金を出力するプログラムを作成します。注:40を超えると、1時間ごとに1.5倍のお金が​​得られます。

エラーは22行目と25行目にあります。回答を小数点以下2桁に丸めたいのですが、「文字列のフォーマット中にすべての引数が変換されるわけではありません」と表示されます。

# Constants for hours over 40
BONUS_MONEY_HOURS=40.0
BONUS_MONEY_RATE=1.5

# Inputting the hourly rate and amount of hours worked
hourly_rate=float(input("Please enter how much you make per hour: "))
hours_worked=float(input("Please enter how many hours worked: "))

# Formulas for calculating the amount paid
hours_under_40=float(hourly_rate*hours_worked)
hours_over_40=float(hours_worked-BONUS_MONEY_HOURS)
bonus_money=float(hours_over_40*BONUS_MONEY_RATE)
bonus_plus_normal=float(bonus_money+hours_under_40)

# Outputting the amount paid from different inputs
if hours_worked > 0 and hours_worked < BONUS_MONEY_HOURS:
    print "You get paid $.2f"%hours_under_40

elif hours_worked > 0 and hours_worked > BONUS_MONEY_HOURS:
    print "You get paid $.2f"%bonus_plus_normal

elif hours_worked < 0:
    print "Invalid input. "

elif hourly_rate < 0:
    print "Invalid input. "
4

2 に答える 2

0

formatメソッドを使用してみてください。

print "You get paid ${0:.2f}.".format(bonus_plus_normal)
于 2013-03-22T01:39:15.213 に答える
0

$.2f の代わりに $%.2f を試してください % が必要です。それ以外の場合は書式設定文字ではありません。また、あなたのプログラムは、誰かがちょうど 40 時間働く状況を処理できないように見えますが、これは少し一般的です。: )

于 2013-03-22T01:40:18.880 に答える