Python中for循环搭配else的陷阱

Posted xushukui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中for循环搭配else的陷阱相关的知识,希望对你有一定的参考价值。

假设有如下代码:

for i in range(10):
    if i == 5:
        print ‘found it! i = %s‘ % i
else:
    print ‘not found it ...‘

你期望的结果是,当找到5时打印出

found it! i = 5

实际上打印出来的结果为:

found it! i = 5
not found it ...

当迭代的对象迭代完并为空时,位于else的子句将执行,而如果在for循环中含有break时则直接终止循环,并不会执行else子句。
所以正确的写法应该为:

for i in range(10):
    if i == 5:
        print ‘found it! i = %s‘ % i
        break
else:
    print ‘not found it ...‘

以上是关于Python中for循环搭配else的陷阱的主要内容,如果未能解决你的问题,请参考以下文章

Python中for循环搭配else的陷阱

Python中for循环搭配else的陷阱

python笔记——else可与for/while搭配使用

python-fullstack-s13-day07-python基础

python 中for与else搭配使用

Python中“for”循环之后的“else”有啥用? [复制]