Python基础教程:在for循环搭配else的陷阱,你知道吗?

枫铃3年前 (2021-10-03)Python259

假设有如下代码:

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子句。

所以正确的写法应该为:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
for i in range(10):
    if i == 5:
        print ('found it! i = %s' % i)
        break
else:
    print ('not found it ...')

#输出:
found it! i = 5

看懂了吗?不会关系,小编创建了一个Python学习交流QQ群:531509025,群里有大量基础入门知识,都是从零开始的,群里还有专业的人给你解答问题。寻找有志同道合的小伙伴,互帮互助,群里还有不错PDF电子书!

相关文章

Django基础知识MTV

Django基础知识MTV

Django简介 Django是使用Python编写的一个开源Web框架。可以用它来快速搭建一个高性能的网站。 Django也是一个MVC框架。但是在Dj...

python程序将其重复M个字符N次

给定一个字符串ÿ...

Python爬虫数据分析三剑客:Numpy、pandas、Matplotlib

一、 pandas pandas简介 pandas是建立在Numpy基础上的高效数据分析处理库,是Python的重要数据分析库。 panda...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。