python新手求助
while True:x = int(input('请输入一年的盈利(单位:万):'))
if 0 <= x <= 10:
y = x * 0.1
elif 10 < x <= 20:
y = 1 + (x - 10) * 0.075
elif 20 < x <= 40:
y = 1.75 + (x - 20) * 0.05
elif 40 < x <= 60:
y = 2.75 + (x - 40) * 0.03
elif 60 < x <= 100:
y = 3.35 + (x - 60) * 0.015
elif 100 < x:
y = 3.95 + (x - 100) * 0.01
else:
print('请输入正确数值')
continue
print(int(y * 10000))
请问这个怎么让输入的不是数字的时候,print('请输入正确数值'),而不是报错,感谢大佬 用try while True:
try:
x = int(input('请输入一年的盈利(单位:万):'))
except:
print('输入数字')
continue
if 0 <= x <= 10:
y = x * 0.1
elif 10 < x <= 20:
y = 1 + (x - 10) * 0.075
elif 20 < x <= 40:
y = 1.75 + (x - 20) * 0.05
elif 40 < x <= 60:
y = 2.75 + (x - 40) * 0.03
elif 60 < x <= 100:
y = 3.35 + (x - 60) * 0.015
elif 100 < x:
y = 3.95 + (x - 100) * 0.01
else:
print('请输入正确数值')
continue
print(int(y * 10000)) 深谙流年 发表于 2021-8-4 23:20
下面的那个else可以删掉,或者可以判断是不是小于0 while True:
x =input('请输入一年的盈利(单位:万):')
while not x.isdigit():
x = input('请输入正确数值:')
x = int(x)
if 0 <= x <= 10:
y = x * 0.1
elif 10 < x <= 20:
y = 1 + (x - 10) * 0.075
elif 20 < x <= 40:
y = 1.75 + (x - 20) * 0.05
elif 40 < x <= 60:
y = 2.75 + (x - 40) * 0.03
elif 60 < x <= 100:
y = 3.35 + (x - 60) * 0.015
elif 100 < x:
y = 3.95 + (x - 100) * 0.01
else:
print('请输入正确数值')
continue
print(int(y * 10000))
用字符串的isdigit判断 , 如果全是数字才能计算 其实楼上的大佬写的也是可以的 , 建议也去试一试
页:
[1]