im在python 3.7中真的很新 我正在测试一些东西,我试图了解如何问某人他的年龄。但是如果他输入字母或负数,则只能输入一个正数,然后再次询问该问题;如果该数字为正,则程序继续。 到目前为止,这是我的代码给我一个错误:
while true :
age = input('Your age : ')
try:
age = int(age)
except ValueError:
print ('Numbers only')
continue
else:
break
给我错误:,
> line 10
age = input()
^
SyntaxError: expected an indented block
答案 0 :(得分:0)
这有帮助吗?这有效:
while True:
age = input('Your age')
try:
age = int(age)
break
except ValueError:
print ('Numbers only')
说明:根据定义,条件“ True”为True,因此循环无限期发生,直到遇到“中断”为止。 Age使用标准输入,并尝试将其转换为整数。如果输入了非整数字符,则会发生异常(ValueError),并且将打印“仅数字”。然后循环将继续。如果用户输入整数,则输入将被转换为整数,并且程序将从循环中中断。
关于语法错误:在Python语法中,关键字为“ True”而不是true。您需要在循环或条件之后缩进所有项目(在这种情况下,当程序遇到age = input('Your age:')时会发生错误,需要缩进。