在 python 中,我需要用户的输入介于年份之间。
使用 if 语句将错误(如果超出范围)返回给用户,并邀请他重新选择年份。
他第二次选择的年份需要用同样的条件再次测试。这还没有发生。
在满足条件之前重新测试他的输入的最佳解决方案是什么?
这是一些实际代码
year = input("Enter a year between 1900 and 2099 : ")
if year >= "1900" or year <= "2099":
year = (input("The year you entered is out of range, please try again : "))
year = int(year)
提前致谢
答案 0 :(得分:2)
您可以使用 while
循环。 while
循环将一直运行,直到某个条件为 False
。在这种情况下,它会一直运行直到使用 break
关键字,因为条件将始终为 True
。您还可以使用 try
和 except
确保输入一个整数。如果不是整数,则使用 continue
再次开始循环。
prompt = "Enter a year between 1900 and 2099: "
while True:
year = input(prompt)
try:
year = int(year)
except ValueError:
prompt = "The year you entered is out of range, please try again : "
continue
if year >= 1900 or year <= 2099:
break
else:
prompt = "The year you entered is out of range, please try again : "