提问人:xXSnowieXx 提问时间:10/15/2023 更新时间:10/15/2023 访问量:22
Python:无法跳出这个 while 循环
Python: Can't break out of this while loop
问:
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 循环的顶部重新启动。
我知道这是因为最后一个中断只突破了 for 循环而不是 while 循环。我尝试将各种缩进下的最后一个“中断”向后移动,但它破坏了我的程序。我还尝试使用这里教授的继续和中断,但它仍然不起作用(我的程序已更改)。如何在不使用函数的情况下跳出循环?谢谢!
答:
2赞
John Gordon
10/15/2023
#1
不要使用 ,而是使用 flag 变量,并在脱离内部循环时将该 flag 变量设置为 false。while True
flag = True
while flag:
...
for x in something:
...
if want_to_break_out_of_while_loop:
flag = False
break
0赞
GrayCat
10/15/2023
#2
你可以把这个循环放在一个函数中,然后从一个函数返回。
符合人体工程学,即使使用深度嵌套的 for 循环,但与其他答案相比,在选择要中断的循环时提供的灵活性较小。
一如既往 - 取决于您想要实现的目标。
def func():
while True:
for i in something:
for x in something_else:
return
评论
break
while
while True