Python练习题 008:打印101-200之间的所有素数

【Python练习题 008】判断101-200之间有多少个素数,并输出所有素数。

---------------------------------------------------------------------

这题算是送分题吧,据说解法很多。我的思路是:先建立101-200的整数列表,再进行判断,如果某个数字能被“从2至这个数字前一位”整除,则将这个数字从列表剔除。挨个走一遍后,剩下的就都是素数了。代码如下:

lst = []
for i in range(100):  #建立 101-200 的列表
    lst.append(101+i)

for i in range(101, 201):  #除数为 101-200 这200个数字
    for j in range(2,i):  #除数为从2至i本身的前一个数字
        if i%j == 0:  #如果能除尽
            lst.remove(i)  #则从 lst 列表剔除
            break
print(lst)  #剩下的都是素数

输出结果如下:

[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]

++++++++++++++++++++++++++++++++++++++

题目出处:编程语言入门经典100例【Python版】