作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图遍历一个值列表并找出每个数字是质数还是合数并将其保存在函数下的集合中。我遇到的问题是它没有找到任何东西,它只是在保存数字的运行计数。例如,此脚本只是保存 1-19 之间的所有数字。我也明白它实际上并没有将值保存在一组中,但我会弄清楚的。大多数情况下需要帮助才能真正使值成为质数/复合值。
def prime(num):
prime_set = set()
composite_set = set()
for i in range(2,num):
if num % i == 0:
composite_set.update([num])
else:
prime_set.update([num])
return(prime_set)
for num in range(1,20):
print(num,prime(num))
最佳答案
因为您的 if
/else
阻止 prime
, num
将添加到 prime_set
如果 任何 号码range(2,num)
无法平均分成 num
.自 num-1
不均匀分成 num
每当 num
至少为 3,num
将始终添加到 prime_set
.
您要做的只是添加num
至 prime_set
如果你没有找到任何除数。对您的代码最简单的更改是。
def prime(num):
prime_set = set()
composite_set = set()
for i in range(2,num):
if num%i == 0:
composite_set.add(num)
break # You don't need to keep searching
if not composite_set: # That is, it's empty.
prime_set.add(num)
return prime_set
关于python - 循环并查找合数/质数并将其保存到集合中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64690043/
我有以下数字数组: var array = [5,9,12,19,23,24,31,44,49,62]; 我试图找出每一个是偶数和合数,奇数和合数,还是奇数和素数。我首先尝试找到偶数和合数: for
我是一名优秀的程序员,十分优秀!