[英]How do I add all of these prime numbers?
我正在使用 python 並嘗試制作一個 function,它將生成從 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)
這可以通過多種方式實現,但我向您介紹其中兩種:
1.) 使用列表:
就我而言,我將其命名為The_list()
。 如果是素數,它會存儲所有值。 為此,我使用了.append()
function。然后使用sum()
function 對存儲的所有值求和。
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)
您可以編寫一個名為 get_total 的 function,它將返回質數之和。 這可以通過以下方式完成:
def get_total(lower, upper):
total = 0
for num in range(lower, upper + 1):
if num > 1:
for i in range(2, num):
if (num % i) == 0:
break
else:
total += num
return total
total_value = get_total(0,1000)
print(total_value)
通過這樣做,您可以重復使用這個 function 並為下限和上限寫入任何值。
使用total_sum
變量並將其初始化為0
,然后將num
變量中的質數添加到其中:
lower = 0
upper = 1000
total_sum = 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_sum += num
print("Sum of the Prime numbers: {}".format(total_sum))
OUTPUT:
2個
3個
5個
. . .983
991
997
質數之和:76127
只需在循環之前創建一個空列表,然后當您確定哪些數字是質數時,將它們 append 添加到列表中,最后調用sum()
lower = 0
upper = 1000
primes=[]
for num in range(lower, upper + 1):
# all prime numbers are greater than 1
if num > 1:
mods = [(num % i == 0) for i in range(2, num-1)]
if any(mods):
break
else:
primes.append(num)
else:
continue
print(sum(primes))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.