这是我的代码段,由于某种原因,即使我输入正确的AM或PM它也会继续
while True:
user_in = input('Please enter the time in the following 12Hour format HH:MM AM|PM : ')
time_in = user_in.split()
time_input = time_in[0].split(':')
latin_input = time_in[1]
if (latin_input != 'AM' and latin_input != 'PM'):
continue
else:
break
我不确定你为什么会遇到这个问题。我试过你的代码,它有效。
我建议您先在拆分并开始进行索引检查是否有时间和latin_input,因此当您使用索引时,它不会破坏您的代码。先验证,再处理。像这样:
while True:
user_in = input('Please enter the time in the following 12Hour format HH:MM AM|PM : ')
if len(user_in.split()) != 2 and not user_in.endswith(('AM', 'PM')):
continue
time_in, latin_input = user_in.split()
break