这是我编写的代码。一切都按预期运行。我的问题是,当我键入非整数并收到错误消息时,仍会打印工资,并输入重复的非整数。如何解决我不打印薪水或留空的问题?
safeAreaLayoutGuide
答案 0 :(得分:1)
如果用户输入的内容不是数字,则仅输出错误并让程序继续运行,而不是中止程序或再次要求输入。这是将要求用户输入直到他们仅键入数字值的代码。
ot_rate = 1.5
while True:
hours = input("Enter Hours: ")
rate = input("Enter Rate: ")
try:
hours = int(hours)
rate = int(rate)
break
except:
print("ERROR, please enter numeric input")
def computepay(hours, rate):
if hours > 40:
ot_hr = hours - 40
hours -= ot_hr
ot_pay = ((ot_hr) * (rate) * (ot_rate))
return (hours * rate) + ot_pay
else:
return (hours * rate)
print("Pay:")
print(computepay(hours, rate))
答案 1 :(得分:0)
在打印语句之前,您可以检查以确保输入的内容不是字符串:
if((isinstance(hours,int) or isinstance(hours,float)) and (isinstance(rate,int) or isinstance(rate,float)):
print(computepay(hours, rate))
else:
print("Error Message")