质数(素数)指的是除了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)