繁体   English   中英

Python - break 语句在 while 循环内的 else 语句中不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM