Python Payroll Caculator

时间:2018-02-19 18:38:57

标签: python calculator

我的任务是创建一个工资单计算器,询问用户一周工作的小时数并询问每小时工资率。每周工作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='')

1 个答案:

答案 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