![](/img/trans.png)
[英]My break statement is not working in a while loop with an if statement?
[英]Python - break statement not working in else statement within while loop
当我使用 break 语句时,我的代码中的 while 循环拒绝终止,我真的很困惑为什么会这样。
point = 0
while point < len(list_of_line_lists) - 1:
sentence = list_of_line_lists[point]["text"]
datapoint = point
while True:
try:
if list_of_line_lists[datapoint]["author"] == list_of_line_lists[datapoint + 1]["author"]:
sentence += list_of_line_lists[datapoint + 1]["text"]
datapoint += 1
print(datapoint)
else:
print("this isn't breaking")
break
except IndexError:
break
在我上面的代码中,else 语句中的 break 语句拒绝触发。 其中的代码被执行,因为在 output 中有一阵“这没有破坏”,但循环本身并没有终止。 这就是我的 output 的外观(直到我自己手动停止它):
this isn't breaking
this isn't breaking
this isn't breaking
this isn't breaking
this isn't breaking
this isn't breaking
this isn't breaking
关于为什么会发生这种情况的任何想法?
内循环正在中断,但外循环没有。 原因是因为您在外部 while 循环中使用了point
变量,但该 ( point
) 变量值永远不会改变(递增/递减)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.