python3打印100以内的质数

质数(素数)指的是除了1和本身,不能被其他自然数整除的大于1的自然数。

for prime_num in range(2,100):#从2开始遍历查找质数
    for x in range(2,prime_num):#从2开始遍历因子,到所遍历的质数为止
        if(prime_num%x==0):#判断为非质数,退出内循环
            break
    else:#如果不是非质数,则为质数,打印
        print(prime_num,end=" ")

以上为最简单的方法,在python中,代码的灵活性很高,可以在没有if的情况下使用else,在下面,将用一种很通用的方式写出,flag标志位的方式

for prime_num in range(2,100):
    flag=0#设置标志位
    for x in range(2,prime_num):
        if(prime_num%x==0):
            flag=1#如果不满足条件,重置标志位
    if(flag==0):#否则,即为满足条件,打印输出
        print(prime_num,end=" ")

还有一种很麻烦的方式,把所以非质数取出来,然后再所有数里面去掉非质数,留下的即为质数,以下方式,仅供参考

list1=[]
for a in range(2,100):
    list1.append(a)
list2=[]
for x in range(2,100):
    for y in range(2,x):
        if(x%y==0):
            list2.append(x)
            break
print(list2)

for j in list2:
    if(j in list1):
        list1.remove(j)
print(list1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值