笨鸟编程-零基础入门Pyhton教程

 找回密码
 立即注册
查看: 6647|回复: 2

[已经解决] 怎样写一段计算n以内素数和的代码

[复制链接]

新手上路

Rank: 1

积分
6
发表于 2022-3-7 12:44:44 | 显示全部楼层 |阅读模式
  1. num=int(input('n:'))
  2. a=list(range(2,num))
  3. for i in a:
  4.         for k in range(1,i):
  5.                 if i%k==0:
  6.                         a.remove(i)

  7. sum(a)
复制代码
自己写的不知道出了什么问题
绿之叶已获得悬赏 10 C币

最佳答案

回复

使用道具 举报

新手上路

Rank: 1

积分
14
发表于 2022-3-7 12:45:08 | 显示全部楼层
改为:

  1. num=int(input('n:'))
  2. a=list(range(2,num+1))
  3. b=list(a)

  4. for i in a:
  5.     for k in range(2,i):
  6.         if i%k==0:
  7.             b.remove(i)
  8.             break

  9. print(sum(b))
复制代码


回复

使用道具 举报

新手上路

Rank: 1

积分
2
发表于 2022-3-7 12:45:34 | 显示全部楼层
  1. def is_prime(x):
  2.         for i in range(2,x):
  3.                 if x % i != 0:
  4.                         pass
  5.                 else:
  6.                         return False
  7.         return True

  8. def have_prime_list(x):
  9.         list1 = []
  10.         for i in range(2,x):
  11.                 if is_prime(i) == True:
  12.                         list1.append(i)
  13.         return sum(list1)

  14. print(have_prime_list(20000))#----21171191
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )

GMT+8, 2024-11-23 18:48 , Processed in 0.019465 second(s), 24 queries .

© 2001-2020

快速回复 返回顶部 返回列表