Python:无法跳出while循环

kgsdhlau  于 2023-10-21  发布在  Python
关注(0)|答案(2)|浏览(125)
while True:
        result = random.randint(1, 100)
        
        for i in range(len(my_names)):
            my_name = my_names[i]
            my_rd = my_round(my_name, mys_hands[i], result)
            if my_rd == False:
                break
            else:
                for i in range(len(my_names)):
                    if not mys_hands[i]:
                        print("OK!")
                        break

帮助。我似乎不能完全打破这个while循环而不改变程序中的其他任何东西(现在我的程序只是在while循环的顶部重新启动。
我理解这是因为最后一个break只会跳出for循环而不是while循环。我试着将最后一个“break”在各种缩进下向后移动,但它会破坏我的程序。我也试过使用continue和break,但还是不行(我的程序改变了)。如何在不使用函数的情况下跳出循环?谢谢你,谢谢

wj8zmpe1

wj8zmpe11#

不使用while True,而是使用一个标志变量,并在跳出内部循环时将该标志变量设置为false。

flag = True
while flag:
    ...
    for x in something:
        ...
        if want_to_break_out_of_while_loop:
            flag = False
            break
vatpfxk5

vatpfxk52#

你可以把这个循环放在一个函数中,然后从函数中返回。
符合人体工程学,即使是深度嵌套的for循环,但与其他答案相比,在选择要中断的循环方面提供的灵活性较小。
像往常一样-取决于你想要实现什么。

def func():
  while True:
    for i in something:
      for x in something_else:
        return

相关问题