我对编程很陌生,曾尝试制作一个年龄检查器代码,但确保用户输入是数字的循环不起作用。
如果输入了一个字符串,例如hello
,则输入将传递.isdigit()
条件,并混淆最后一个If语句。
如果您能提供任何关于如何正确构建数字检查器循环的帮助或建议,以便不会在最后一个if语句中输入字符串,我们将不胜感激。这是我的代码:
while True:
age = input('Enter age: ')
if age.isdigit():
print('Thank you, number entered is:', age)
else:
print('A number must be entered')
break
print('Please enter age')
used_variable = age
if used_variable > 18:
print('user is older than 18')
当用户插入错误的值(而不是数字(时,您正在打破循环,而不是让循环继续询问他,当用户键入正确的值时,您应该打破循环。
while True:
age = input('Enter age: ')
if age.isdigit():
print('Thank you, number entered is:', age)
break
else:
print('A number must be entered')
#print('Please enter age')
used_variable = int(age)
if used_variable > 18:
print('user is older than 18')