python跟我学_跟我学解Python题-质数

质数又称素数,有且仅有两个因数的自然数整数。这是我上学时候老师教的。今天我在书上看到这样一道题目:

使用Python IDLE编辑器 编辑脚本。

实现:输出0~1000之间所有的质数,用“,”分隔。

我们使用for循环输出指定区间[0,1000]内的全部质数。

我么抓住两个重点:

重点1,质数有两个因数,多一个,9不是;少一个1,不是;最小的质数是2。

重点2,range函数包头不包尾。

开始制作:

新建空列表,a=[]

新建计数变量n=0

第一层for循环:for i in range(0,1001):

n为计数变量,每一循环一次i,n就需要重置一下,n=0

脚本截图:

接下来,我要测试每一个i是否为一个“合格的质数”,同样适用for循环。

测试每一个从1到i的数字是否为i的因数(或者理解为:i可以被从1到i的数字中哪些整除)。脚本:for j in range(1,i+1):

每找到一个符合条件的因数,脚本:if(i%j==0):

n就会加1.脚本:n+=1

当内嵌的for循环结束时,n的值为2,那么这个循环的i就是一个合格的质数。

将其添加到列表a中。

脚本:

if n==2:

a.append(i)

当整个1001次循环结束后输出列表a。

脚本:print(a)

运行结果:

完整脚本:

a=[]

n=0

for i in range(0,1001):

n=0

for j in range(1,i+1):

if(i%j==0):

n+=1

if n==2:

a.append(i)

print(a)

脚本截图:

好了,以上就是我整个制作步骤了,应该还有其他的解题方法,如果过你有不一样的制作方法,请在评论区留言分享给我,我们一同进步!我是 大于小澍,一个陪孩子玩的90程序员。感谢你的阅读。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值