例子:列表--素数问题

求100以内的素数。

在这里我们可以使用列表来做,首先,先判断该数是不是素数,即只能被1和自己整除,然后使用列表的append()函数,逐个添加。

 1 lst_su = []
 2 for a in range(2,100):
 3     for b in range(2,a):
 4         if a % b == 0:
 5             break
 6     else:
 7         lst_su.append(a)
 8 print(lst_su)
 9 ###################################
10 lst1 = [2]
11 for a in range(3,100):
12     for b in lst1:
13         if a % b == 0:
14             break
15     else:
16         lst1.append(a)
17 print(lst1)
18 ####################################
19 D:untitledproject2venvScriptspython.exe D:/untitled/project2/day1/shuzi.py
20 [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
21 [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
22 
23 Process finished with exit code 0

第一段代码的核心思想是a遍历100以内的正整数,然后b遍历2~a之间的正整数,如果a能够整除b,那么a肯定不是素数,break跳出,剩下的是素数。

第二段代码的核心思想也是如此,不过在b的范围上做了优化,b的取值是a之前的素数,这样的话会提高整段代码的效率。

原文地址:https://www.cnblogs.com/linfengs/p/11677836.html