Python - 当无法使用break语句时该怎么办?

0 投票
2 回答
2456 浏览
提问于 2025-04-18 08:44

当你遇到这种情况时,怎么才能跳出循环呢?(我还是个初学者,所以虽然这可能是个“简单”的问题,但我并不懂所有的东西)

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

正如你所看到的,你无法跳出循环,因为“quit”这个词有超过三个字符。

2 个回答

3

你可以使用 iter 这个函数,配合一个哨兵值和一个 for 循环,来代替 while 循环:

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

你应该重新调整一下你的程序,把第二个if语句放在第一个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')

撰写回答