求列表L中所有素数的和。 程序行时输出1129 from random imput* seed(10) L=[randint(20,99)] for i in range(100)] msum=0
时间: 2024-03-01 08:50:13 浏览: 59
C语言程序设计-求给定正整数m以内的素数之和;例如:当m=20时,函数值为77;
5星 · 资源好评率100%
以下是 Python 代码实现:
```python
from random import seed, randint
def is_prime(n):
"""
判断一个数是否为素数
"""
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
seed(10)
L = [randint(20, 99) for i in range(100)]
msum = sum([x for x in L if is_prime(x)])
print(msum)
```
首先导入 `seed` 和 `randint` 函数,使用 `seed` 函数设置随机种子为 10,然后使用列表推导式生成一个长度为 100 的列表 L,其中每个元素都是一个 20 到 99 之间的随机整数。
接着定义 `is_prime` 函数判断一个数是否为素数,其余部分与之前的代码一致。
最后使用列表推导式和 `sum` 函数求出列表 L 中所有素数的和,并将结果赋值给变量 `msum`,最后将 `msum` 输出到屏幕上。
阅读全文