python里for和else的搭配
程序员文章站
2024-01-05 15:27:22
...
用找质数作为代码示例
for i in range(2,10):
for n in range(2,i):
if i % n == 0:
#print(i, '=', n, '*', i//n)
break
else:
print('found it %s' %i)
注意:这里的 else 并不属于 if 代码块
根据官方文档的解释理解的意思:当迭代的对象迭代完并为空时,位于else的语句将会执行,而如果在for循环里有break时,则会直接终止循环,并不会执行else里的代码
写一个简单例子,用来辅助理解
for i in range(10):
if i == 7:
print('found it %s'%i)
break
else:
print('not found')
可以先运行代码,看一下运行结果,然后将代码块里的break注释掉再运行一遍,与第一次运行的结果进行比较,就会发现不同
推荐阅读
-
ubuntu 16.04 安装 python2.7 以及 cv2, dist-package 和 site-package 的区别, import cv2 出问题解答
-
python里for和else的搭配
-
python实现npy文件的保存和读取
-
python语言for else和 if else误区
-
Python小知识:else除了跟if很搭,你还知道其他的关键词吗?
-
多if…if和多if…else if的区别
-
(P8-P9)了不起的分支和循环:Python可以有效避免“悬挂else” ,断言(assert),while循环,break,continue
-
python 调用C程序的结构体和函数
-
Python3: 内存中的 IO 流缓冲区 - StringIO 和 BytesIO
-
python的StringIO 和 BytesIO