【发布时间】:2016-09-27 15:56:25
【问题描述】:
我有一个与我的代码无关的问题。我只是好奇。为什么我(我不了解你)只能将 ValueError 与 try 和 except 循环一起使用?例如:
print("What is 1 + 1?")
while(True):
try:
UserInput = int(input(("Your answer here:"))
if(UserInput == 2):
print("Congratulations you are correct!")
break
else:
print("That is incorrect. Try again!")
except ValueError:
print("That is not a number. Try again!")
这工作得很好(或者至少应该)但是,为什么(如果没有)下一段代码不起作用。
print("What is 1 + 1?")
while(True):
UserInput = int(input("Your answer here:"))
if(UserInput == 2):
print("Congratulations you are correct!")
break
elif(UserInput != 2):
print("That is incorrect. Try again!")
else(ValueError):
print("That is not a number. Try again!")
当我运行它时,我得到了这个错误:
Traceback (most recent call last):
File "python", line 9
else(ValueError):
^
SyntaxError: invalid syntax
我知道这是因为 ValueError 仅适用于(我认为)try 和 except 循环,但是,为什么它不能在上述情况下不起作用?我认为他们会给出相同的结果,但是,我不知道一切。也许你们中的一个非常聪明的人可以告诉我我的那行不通或替代方案。感谢您试图向我澄清这一点:)。
【问题讨论】:
标签: python python-3.x if-statement while-loop try-except