python求100以内的质数

list=[]
flag=True
for i in range(2,100):
    for j in range(2,i):
        if i%j==0:
            flag=False
            break
        else:
            flag=True
    if flag==True:
        list.append(i)
        # ','.join(list)
print(list)

1.首先写定义一个空列表跟一个标志是否质数的变量,判断是否是质数的标志,默认为True

2.定义两重循环,第一重循环i从大于1开始,求100以内的可以写101(以后如果求n以内的可以设置为n+1)

3.第二重循环从大于1开始,直到i,不包括i

4.判断如果i%j==0,说明除了1个他本身还有其他可以整除的,说明不是质数,直接将质数标志置为False,同时第二层循环终止

5.为避免说结束循环的时候,标志质数的变量值没有变,所以,要有一层else的判断

6.如果说第二层循环结束了,还是没有找到能被1跟他本身整除的数,那么这个数就是质数,把这个值加入到空列表中,最后返回这个列表就行了

还有其他方法,也贴一下

list=[]
for i in range(2,101):
    flag=True
    for j in range(2,i):
        if i%j==0:
            flag=False
            break
    if flag:
        list.append(str(i))
        # ','.join(list)
print(list)

 

你可能感兴趣的:(python,python解决n以内的质数)