我正在学习Python,但我讨厌创建小程序,我经常发现的一个错误是无法将输入的答案限制为数字。当回答我的要求中的数字时,它工作得很好,但是当输入的输出除了数字之外什么都没有或任何东西时,当我打算再次询问时,它就会崩溃。
#EXAMPLE
def ask(x):
return int(float(input(x)))
def main():
x = ask("NUMBER FROM 0 TO 5: ")
while x > 5 or x < 0 :
x = ask("PLEASE INPUT A NUMBER FROM 0 TO 5")
print(x)
main()
#如果 x 输入的输出是 0 到 5 之间的数字,则可以正常工作,如果数字超出此限制,则可以正常工作并再次询问,但是当输出没有任何内容或 str 时,它会崩溃,怎么办我让它工作并再次询问?
您可以使用此关键字
try
和 except
进行错误处理。
def ask(x):
return int(float(input(x)))
def main():
while 1:
try:
x = ask("NUMBER FROM 0 TO 5: ")
while x > 5 or x < 0 :
x = ask("PLEASE INPUT A NUMBER FROM 0 TO 5")
break
except:
print("Please input valid input such as integer or float!")
print(x)
if __name__ == '__main__':
main()
请注意,如果
while 1
块中的代码运行没有错误,try
将结束。如果发生任何错误,则将执行catch
块,向用户打印警告消息以输入有效的输入。