编辑一个函数输出一批数中的所有素数
时间: 2024-02-18 17:05:45 浏览: 57
好的,以下是一个 Python 函数,可以输出一批数中的所有素数:
```python
def find_primes(numbers):
primes = []
for num in numbers:
if num < 2:
continue
is_prime = True
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
is_prime = False
break
if is_prime:
primes.append(num)
return primes
```
这个函数接收一个包含一批数的列表作为输入,然后返回其中的所有素数。在函数中,我们首先创建了一个空列表 `primes`,用于存储所有找到的素数。然后,我们遍历输入列表中的每个数字 `num`。如果 `num` 小于 2,则跳过当前循环,因为 2 是最小的素数,小于 2 的数字不可能是素数。否则,我们使用一个嵌套的循环来判断 `num` 是否是素数。具体地说,我们从 2 开始循环到 `num` 的平方根加 1,检查是否存在一个整数可以整除 `num`。如果找到了这样的整数,则 `num` 不是素数,我们将 `is_prime` 设为 False 并跳出内层循环。如果内层循环结束后 `is_prime` 仍为 True,则说明 `num` 是素数,我们将其添加到 `primes` 列表中。最后,我们将 `primes` 列表返回。
阅读全文