我的任务是创建一个工资单计算器,询问用户一周工作的小时数并询问每小时工资率。每周工作40小时的工作时间按给定的支付率支付。工作时数超过40但小于或等于60的工作时间为正常小时工资的1.5倍。工作时间超过60小时的人将获得正常小时工资的2倍。
我似乎可以弄清楚如何让程序计算工资,包括60小时以上的2倍率。它的计算时间仅为每小时的1.5倍。
谢谢!
base_hours = 40
xtra_hours = 60
over_time = 1.5
xover_time = 2.0
hours = float(input('Enter the amount of hours worked: '))
pay_rate = float(input('Enter the hourly pay rate: ')
if hours > base_hours:
overtime_hours = hours - base_hours
overtime_pay = overtime_hours * pay_rate * over_time
gross_pay = base_hours * pay_rate + overtime_pay
elif hours > 60:
overtime_hours = hours - base_hours
overtime_pay = overtime_hours * pay_rate * xover_time
gross_pay = base_hours * pay_rate * overtime_pay
else:
gross_pay = hours * pay_rate
print('The gross pay is $', format(gross_pay, ',.2f'), sep='')
答案 0 :(得分:0)
你的第一个条件需要更具体:
if hours > base_hours and hours < 60:
否则,只要小时数超过基准时数,那么第一个条件将以1.5倍的速率满足 完整代码如下:
base_hours = 40
xtra_hours = 60
over_time = 1.5
xover_time = 2.0
hours = float(input('Enter the amount of hours worked: '))
pay_rate = float(input('Enter the hourly pay rate: '))
if (hours > base_hours) and (hours < 60):
overtime_hours = hours - base_hours
overtime_pay = overtime_hours * pay_rate * over_time
gross_pay = base_hours * pay_rate + overtime_pay
elif hours > 60:
overtime_hours = hours - base_hours
overtime_pay = overtime_hours * pay_rate * xover_time
gross_pay = base_hours * pay_rate * overtime_pay
else:
gross_pay = hours * pay_rate
print 'The gross pay is', gross_pay