continue 是否会阻止 else 块在 for/else 语句中运行?

for带有语句的循环中,break我可以在末尾添加一个语句,如果我的循环从未命中语句else,它将被触发。forbreak

我的问题是,这有continue什么影响?


30秒到达战场
浏览 261回答 2
2回答

慕斯王

continue不影响else:条款。else如果循环正常终止,即如果 a StopIteration(隐式)由迭代器引发,则运行该子句。该continue语句对特定的迭代没有任何作用,但是它不会阻止迭代器被耗尽。

慕哥9229398

不,else子句执行不受continue.唯一可以防止else语句(在 for 循环之后)被触发的是break语句(或者您的代码在完成循环return之前退出或引发异常)。forfor i in range(5):    continueelse:    print("else triggered")将打印else triggered。请参阅文档:循环语句可能有一个else子句;它在循环因列表用尽而终止(with for)或条件变为 false 时(with while)执行,但不是在循环被break语句终止时执行[...]当与循环一起使用时,子句与语句的子句比与语句的子句有else更多的共同点:语句的子句在没有异常发生时运行,而循环的子句在没有异常时运行。elsetryiftryelseelsebreak仅break提到防止else子句运行,continue不是。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python