Python - 当你不能使用break语句时该怎么办?

时间:2014-06-05 14:48:56

标签: python loops

当你遇到这种情况时,你如何摆脱循环(我还是一个初学者,所以我不知道所有事情,即使这可能是一个简单的"问题)?

while True:
    s = input('Enter something : ')
    if len(s) > 3:
        print('too big')
        continue
    if s == 'quit':
        break
    print('something')

正如你所看到的那样,你无法摆脱循环,因为"退出"超过3个字符。

2 个答案:

答案 0 :(得分:3)

您可以iter使用标记值和for循环而不是while

for s in iter(lambda: input('Enter something : '), 'quit'):
    if len(s) > 3:
        print('too big')
    else:
        print('something')

答案 1 :(得分:2)

您应该像这样重构您的程序,将第二个if语句放在第一个上面:

while True:
    s = input('Enter something : ')
    if s == 'quit':  # Do this check first
        break
    elif len(s) > 3:  # Then see if the input is too long
        print('too big')
        continue
    print('something')