使用多个函数和返回函数的Python工资单程序
好的,我需要这个程序的帮助。 这是作业 编写一个工资单程序,为40岁以上的人支付时间半 小时。除主要功能外,还应具有3个功能使用多个函数和返回函数的Python工资单程序,python,Python,好的,我需要这个程序的帮助。 这是作业 编写一个工资单程序,为40岁以上的人支付时间半 小时。除主要功能外,还应具有3个功能 第一个函数询问用户总共工作了多少小时 已工作和工资率,并将此信息返回给main。这些 必须验证值。工作时间必须至少为8小时,不得超过8小时 超过86。工资率不能低于$7.00或高于$50.00 第二个函数计算正常工作时间和加班时间 小时,并将此信息返回到main。一个人可能工作更少 超过40小时,所以你必须考虑到这种情况 第三个函数计算固定工资(固定工时) 乘以工资率);
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()
def work_info():
hw=输入('输入8到56之间的工作小时数')
当hw<8或hw>86时:
打印('输入范围内的小时数')
pr=input('输入您当前7美元到50美元之间的工资率')
当pr<7或pr>50时:
打印('输入范围内的付款率')
def reg_ovt_小时数():
如果hw<40:
reg_小时=硬件和ovt_小时=0
其他注册时间>40小时
ovt_小时=hw-40
返回硬件
def reg_pay():
注册工资=注册工时*pr
ovt_pay=ovt_小时*注册支付*1.5
tot_pay=注册支付+ovt_支付
返回pr、reg_小时、ovt_小时
def main():
打印(‘工资单信息’)
打印(“工资率”)请购单
打印注册时间
按小时打印
打印注册费
打印ovt_支付
打印总帐
main()
请让我知道如何才能使这项工作正常进行这一行是错误的:
else reg_hours > 40
应该是
elif reg_hours > 40:
或
您缺少了一个冒号,您不能有else
的条件,因为它涵盖了所有内容,嗯,“else”
如果
reg_hours==40
,会发生什么情况?您必须了解定义变量的范围。我建议看一本关于python中变量范围的教程
我建议大家看看这个问题:
例如,在work\u info
中,您定义了hw
和pr
,但就目前情况而言,这是唯一定义它们的地方。因此,稍后当您尝试使用这些变量时,您将得到一个错误,因为python解释器不知道它们是什么
您还需要将
else reg_hours>40
更改为else:
或elif reg_hours>40:
为什么您认为它现在不工作?你有错误吗?意外输出?哦,嗯,它说语法错误,并在else函数之后突出显示reg_hours变量。哦,我看到了,ok,我试过了,这本身不是错误。也许您又忘记了冒号,或者使用了else
而不是elif
?
else: