我有这个简单的代码:
var = 1
while var == 1 :
try:
num = int(raw_input("Enter a number :"))
except ValueError:
print "Thats not a number!"
continue
try:
num2 = int(raw_input("Enter another number :"))
except ValueError:
print "Thats not a number!"
continue
print "Sum of previous 2 inputs:="+str(num+num2)
print "Good bye!"
现在第一个 continue 语句完成了工作,但第二个没有。因为它返回到循环的顶部,但我需要它返回捕获到第二个异常的位置,所以它会要求再次输入第二个数字,而不是第一个数字。
有什么想法吗?
请您参考如下方法:
您可以考虑在函数中输入一个数字——这样可以避免将相同的代码写两次:
def input_int(prompt):
while True:
try:
return int(raw_input(prompt))
except ValueError:
print "That's not a valid integer!"
...
num = input_int("Please enter a number: ")
num2 = input_int("Please enter another number: ")
