我正在尝试编写代码来编辑列表并使其成为回文。
一切正常,除了我的输入仍然给我一个错误。当我在 get_number_2
中输入非整数时,它崩溃了。
def get_number():
num = raw_input("Please enter number between 100,000 and 1,000,0000: ")
if not num.isdigit():
print "---------------------------"
print "Invalid input: numbers only"
print "---------------------------"
my_main()
else:
return num
def get_number_2(n):
num = input("Please confirm the number you have entered: ")
if num != int(n):
print "--------------------"
print "Entries do not match"
print "--------------------"
my_main()
else:
return num
我将来自 get_number_2
的输入用于其余代码,因为当我检查它是否介于两个数字之间时 get_number
不起作用。
有什么方法可以验证 get_number_2
中的输入是否为 int,以便我可以摆脱 get_number
?
最佳答案
编写处理异常的程序。如果用户输入无效整数,它会抛出 ValueError
异常:
try:
a = int(b)
except ValueError:
print "Unable to interpret your input as a number"
您必须像这样更新您的问题:
def get_number_2(n):
num = input("Please confirm the number you have entered: ")
try:
if num != int(n):
print "--------------------"
print "Entries do not match"
print "--------------------"
my_main()
else:
return num
except ValueError:
print "Unable to interpret your input as a number"
关于python - 简单的Python输入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33286034/