热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在Python3.5中找到给定范围内的质数之和?

我设法使用以下方法在给定范围内创建素数列表:importnumpyasnpnum=int(input(Enteranumber:))

我设法使用以下方法在给定范围内创建素数列表:

import numpy as np
num = int(input("Enter a number: "))
for a in range(2,num+1):
maxInt=int(np.sqrt(a)) + 1
for i in range(2,maxInt):
if (a%i==0):
break
else:
print (a)

我现在想找到范围内所有质数的总和,所以我放下

print (sum(a))

但是,当尝试这样做时,我得到以下回溯:

Traceback (most recent call last):
File "C:/Users/Jason/PycharmProjects/stackidiots/scipuy.py", line 11, in
print(sum(a))
TypeError: 'int' object is not iterable

解决方法:

在您的情况下,a是循环中使用的整数变量,而不是迭代变量.

import numpy as np
num = int(input("Enter a number: "))
primes = []
for a in range(2,num+1):
maxInt= int(np.sqrt(a)) + 1
for i in range(2,maxInt):
if (a%i==0):
break
else:
primes.append(a)
print(sum(primes))

因此,如果我们将它们随即添加到列表中而不是打印它们,则在获取列表素数之和时会得到以下输出.

Enter a number: 43
281


推荐阅读
author-avatar
手机用户2502922667
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有