循环不中断

时间:2019-11-24 00:43:15

标签: python python-3.x loops user-input

这是我的代码,由于某种原因,即使我输入了正确的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

1 个答案:

答案 0 :(得分:0)

我不确定您为什么遇到这个问题。我尝试了您的代码,它可以正常工作。

我建议先分割和开始建立索引,然后检查是否有时间和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