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 语句拒绝触发。其中的代码被执行,因为输出中出现了一系列“这没有中断”,但循环本身并没有终止。这是我的输出结果(直到我自己手动停止它):
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
) 变量值永远不会改变 (incremented/decremented).
当我使用 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 语句拒绝触发。其中的代码被执行,因为输出中出现了一系列“这没有中断”,但循环本身并没有终止。这是我的输出结果(直到我自己手动停止它):
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
) 变量值永远不会改变 (incremented/decremented).