【发布时间】:2020-06-20 15:36:21
【问题描述】:
我想在 python 中遍历一个列表,检测素数,然后将它们添加到另一个列表中。
primes = []
nprimes = []
for j in range(0, len(arr)):
num = arr[j] #my list with numbers to check
if num > 1:
for k in range(2, num):
if (num % k) == 0:
nprimes.append(num)
break
else:
primes.append(num)
else:
print(num, " can't be checked, because its smaller than 1")
我的问题是总是添加不是素数的数字。此外,通常代码似乎无法正常工作。
【问题讨论】:
-
如果该数字不能被数字整除,那么您将添加到列表并中断而不是继续检查下一个数字。
-
break用于两个条件分支(if 和 else)。你认为for k in range(2, num):真的会循环使用该设置吗?
标签: python arrays python-3.x list primes