python中的for..else语法

学生ppt提到了一个示例代码(现在回过头来看,这个语句对初学者而言,难度有点高了),里面用了一个for..else语法。这个代码让我很诧异。

num=[]
for i in range(2,100):
    for j in range(2,i):
        if i%j==0: break
    else:
        num.append(i)
print(num)

这个示例代码是求100以内的质数。算法本身很简单,但for..else语言在别的编程语言里很少有用到,我算是第一次见到这种逻辑控制,开始我还误以为else是匹配到if中。

在网上搜索后,这个网站讲的很明白:

https://foofish.net/for-else.html

简言之:for..else语句,只要for语句中没有执行break语句,则else中代码必然要执行。

发表评论

邮箱地址不会被公开。 必填项已用*标注