for-else循环

主要用于判断循环是否运行不完全(即是否被中途打断),如果循环运行完全(不被中途打断),则执行else语句内容,否则不执行
常见的跳出循环方式:break、continue、return(函数内)


for-else循环在判断素数中的逻辑

如果能被整除(不是素数),break跳出当前for循环,不执行任何操作;如果不能被整除(是素数),for迭代完所有书都没有break跳出循环,执行else语句,把这个素数添加到列表中


示例

a=[3,1,12,5,14,8,7,2,5,3,2,6,7,2,3,8,5]#找出里面的素数并求和
b=[]
for i in a:
    if i>1:
        for j in range(2,i//2+1):
            if i%j==0:
                break
        else:
            b.append(i)
print(b)
print(sum(b))

当然也可以用定义函数的方法

def iszhi(n):
    if n>1:
        for i in range(2,n//2+1):
            if n%i==0:
                return False
        else:
            return True
a=[3,1,12,5,14,8,7,2,5,3,2,6,7,2,3,8,5]
b=[]
for j in a:
    if iszhi(j)==True:
        b.append(j)
print(b)
print(sum(b))
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐