python 输出 2到n的素数 附源码 注释超详细。。。

# 程序作用:
# 输出 2 到 用户输入的数 的所有素数
# 例:用户输入 10
#     程序输出:[1, 2, 3, 5, 7]
str = input()
# input函数可以得到用户输入的字符,以字符串的形式保存在变量 str 中
n = eval(str)
# eval函数可以将字符串变量 str 转换成数字,储存在变量 n 中
pp=[]
# pp 是一个列表,用于储存所有的素数
for i in range(2,n):
    # 使用遍历的方式,按个检测数字是不是素数
    p=0
    # 作为判断是否是素数的辅助变量
    for j in range(2,i):
        # 素数的定义:只能被自己和1整除的数才是素数
        # 我用 2,3...n-1,里的数依次作为除数,如果能整除 n ,就把 p 标记成 1,如果不能整除,就保持不变
        if i%j == 0:
            p=1
        # 当我遍历完 2,3...n-1 后,如果 p 还等于 0,说明没有 n 不能被 2,3...n-1 整除,也就证明 p 是素数
    if p==0:
        # pp.append(i) 的意思是,把元素 i 从末尾添加到列表 pp 中
        pp.append(i)
# 输出列表pp
print(pp)


  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值