我需要接受用户输入的时间,在0000到2359之间,不需要导入任何模块。我现在让它接受一个int型输入:
fillTime = "X"
while fillTime == "X":
try:
fillTime = int(input("Enter the time (0000-2359): "))
if fillTime < 0 or fillTime > 2359:
print("Error! Please enter a valid time!")
fillTime = "X"
else:
break
except:
print("An unknown error occurred!")
然而,这并没有验证时间是否无效(例如1299等),任何帮助将非常感谢!
编辑修正了我代码中的一个错误,第一行是错误的
您可以使用取模运算符来验证最后两位数字。你的循环也不应该检查"X"。只使用while True
和break
:
while True:
try:
fillTime = int(input("Enter the time (0000-2359): "))
if not (0 <= fillTime <= 2359) or fillTime % 100 > 59:
print("Error! Please enter a valid time!")
else:
break
except:
print("An unknown error occurred!")