仅当某些特定输入是大于 1 且小于 5 的整数时,我才需要进行计算。如果数字不满足此条件,则会打印一条消息。有用。 当输入不是整数但它不起作用时,我也希望打印消息。例如,当我键入“a”时,我得到了信息“ValueError:int() 的无效文字,基数为 10:'ds'”
w = input("write a number")
if (int(w)<1 or int(w)>5) or w.isdigit()==False:
print("input must be between 1 and 5 and not to be a letter")
else:
print(w)
请您参考如下方法:
如果w确实不是数字,那么int(w)不会工作,你会得到你所描述的错误。但是,您已经在检查 w 是否是一个数字,你只需要反过来排序条件:
w = input("write a number")
if w.isdigit() == False or int(w) < 1 or int(w) > 5:
print("input must be between 1 and 5 and not to be a letter")
else:
print(w)
条件是从左到右评估的,所以如果 w.isdigit() == False是这样的,int(w) < 1和 int(w) > 5甚至不会被评估,您也不会看到错误。
