好的我需要这个程序的帮助。 这是作业
编写一份工资单计划,为40岁以上的任何人支付一半时间 小时。除了main之外,这应该有3个功能。
输出应如下所示:
Payroll Information
Pay rate $10.00
Regular Hours 40
Overtime Hours 20
Regular pay $400.00
Overtime pay $300.00
Total Pay $700.00
这是我到目前为止所拥有的
def work_info():
hw = input('Enter the amount of hours worked between 8 and 56')
while hw < 8 or hw > 86:
print('Enter the amount of hours in range')
pr = input('Enter the your current payrate between $7 and $50')
while pr < 7 or pr > 50:
print('Enter a payrate in range')
def reg_ovt_hours():
if hw < 40:
reg_hours = hw and ovt_hours = 0
else reg_hours > 40
ovt_hours = hw - 40
return hw
def reg_pay():
reg_pay = reg_hours * pr
ovt_pay = ovt_hours * reg_pay * 1.5
tot_pay = reg_pay + ovt_pay
return pr, reg_hours, ovt_hours
def main():
print('Payroll Information')
print ('Pay rate') pr
print reg_hours
print ovt_hours
print reg_pay
print ovt_pay
print tot_pay
main()
请告诉我如何让这项工作正常
答案 0 :(得分:0)
这一行错了:
else reg_hours > 40
应该是
elif reg_hours > 40:
或者
else:
你错过了一个冒号,你不能拥有else
的条件,因为它涵盖了一切,好吧,“其他”。
reg_hours == 40
会怎样?
答案 1 :(得分:0)
您必须了解定义变量的范围。我建议在python中查看关于变量范围的教程。
我建议您查看这个问题:Short Description of the Scoping Rules?
例如,在work_info
中,您定义了hw
和pr
,但目前它是唯一定义它们的地方。因此,稍后当您尝试使用这些变量时,您将收到错误,因为python解释器并不知道它们是什么。
您还需要将else reg_hours > 40
更改为else:
或elif reg_hours > 40: