Python错误计算
我在这里遇到了我的代码问题。 我收到的错误在底部。 我必须输入工资,并在加班或不加班的情况下计算工资。
在此输入代码#######################功能####################### #def Input():try:name = raw_input(“输入你的名字和姓氏:”)titlename = name.title()除外:return Input
def hours():尝试:wHours = raw_input(“输入本周工作的小时数:”),除非:wHours <1或wHours> 60:打印“员工”不能工作少于1小时或超过60小时“。 返回lstEmp
def pay():try:pRate = raw_input(“输入你的小时工资:”),除非:如果pRate <6或pRate> 20:打印“雇员的工资不能低于6.00美元或高于20美元”。 退还工资
def calcHours(pr,h):如果h <= 40:pr * h else:(h -40)*(pr * 1.5)+ pr * 40 return lstEmp
def end():empDone = raw_input(“请在完成员工信息时输入DONE:”)empDone.upper()==“DONE”
#################### MAINLINE CODElstEmp = [] Names =“”
而True:Names = Input()
WorkHours=Hours()
Wages=Pay()
gPay=calcHours(WorkHours, Wages)
Done=end()
if end():
break
Traceback(最近一次调用的最后一个):在gPay = calcHours(WorkHours,Wages)中的文件“J: 11-2-10.py”,第53行,文件“J: 11-2-10.py”,第29行,在calcHours pr * h TypeError:不支持的操作数类型为*:'NoneType'和'NoneType'
在“输入”,“小时数”和“付款”中,分配给与功能同名的变量; 也许你的意思是返回这些值呢?
gPay=calcHours(Hours, Pay)
你的意思是工作WorkHours
,这就是你所说的变量; Hours
仍然是函数,它返回它。 代码中有很多其他位置,您已更改变量名称,因此它们不再匹配。
还有+1 gnibbler的评论。 这实际上不是什么try
, except
没有特殊的例外, except
你绝不应该使用。 您可能想要try
是转换为整数:
def getHours():
while True:
hours= raw_input("Enter the hours you worked this week: ")
try:
hours= int(hours)
except ValueError:
print "That's not a number, type it proper."
continue
if not 1<=hours<=60:
print "Employees must work between 1 and 60 hours."
continue
return hours
链接地址: http://www.djcxy.com/p/56445.html
下一篇: ssl.SSLZeroReturnError: TLS/SSL connection has been closed (EOF) (