2015-11-29 55 views
-2
user_input = input('How old are you?: ') 
if user_input >= 18: 
    print('You are an adult') 
elif user_input < 18: 
    print('You are quite young') 
except ValueError: 
    print('Please type in an integer') 

它说,在除了的Python除了ValueError异常:

语法错误,请帮助。

+0

您只能在'try'中使用'except'。 [见这些Python文档。](https://docs.python.org/3/tutorial/errors.html#handling-exceptions) –

+0

正如我在你的[上一个问题]中所述(http://stackoverflow.com/questions/33977659/how-do-i-compare-a-string-and-an-integer-in-python),_please阅读[官方Python教程](https://docs.python.org/3.4/tutorial/index的.html)_。 – TigerhawkT3

+0

会检查出来,谢谢 – Keretto

回答

1

except不符合if/elif/else。相反,它符合try,如下所示:

user_input = input('How old are you?: ') 
try: 
    age = int(user_input) #this can raise ValueError 
    if age >= 18: 
     print('You are an adult') 
    elif age < 18: 
     print('You are quite young') 
except ValueError: 
    print('Please type in an integer') 
+1

谢谢,但我不明白你的意思是这可以提高ValueError – Keretto

+0

函数'input'返回一个字符串。我添加的行尝试将用户键入的字符串转换为整数。如果输入无效,这可能会失败。例如,'int('45')'将返回整数'45',但是'int('sdfsdf')'不会返回任何内容,而是引发'ValueError'异常。 – ferry

+0

非常感谢它的工作 – Keretto