打印非整数作为输出

时间:2018-11-18 20:05:44

标签: python

这是我编写的代码。一切都按预期运行。我的问题是,当我键入非整数并收到错误消息时,仍会打印工资,并输入重复的非整数。如何解决我不打印薪水或留空的问题?

Output

safeAreaLayoutGuide

2 个答案:

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