首页 > 解决方案 > 如何添加所有这些质数?

问题描述

我正在使用 python 并尝试创建一个函数,它将生成从 1 到 1000 的所有素数,然后将所有素数相加。到目前为止,我已经完成了所有质数的打印,但我对如何将它们相加感到困惑。这是我的代码:

lower = 0
upper = 1000

for num in range(lower, upper + 1):
   # all prime numbers are greater than 1
   if num > 1:
       for i in range(2, num):
           if (num % i) == 0:
               break
       else:
           print(num)

标签: python

解决方案


这可以通过多种方式实现,但我向您介绍其中两种:

1.) 使用列表

就我而言,我将其命名为The_list()。如果是素数,它会存储所有值。为此,我使用了.append()函数。然后总结使用sum()函数存储的所有值。

lower = 0
upper = 1000
The_list = []

for num in range(lower, upper + 1):
   # all prime numbers are greater than 1
   if num > 1:
       for i in range(2, num):
           if (num % i) == 0:
               break
       else:
           print(num)
           The_list.append(num)
print(sum(The_list))

2.) 改用变量

lower = 0
upper = 1000
total = 0

for num in range(lower, upper + 1):
   # all prime numbers are greater than 1
   if num > 1:
       for i in range(2, num):
           if (num % i) == 0:
               break
       else:
           print(num)
           total = total + num
print(total)

推荐阅读