[英]The sum of prime number is incorrect
代碼沒有返回素數的總和,我做錯了什么?
the_sum = 0
for number in range(20):
if number > 3:
for i in range(2,number):
if (number%i)==0:
break
else:
the_sum += number
print (the_sum)
the_sum = 0
for number in range(20):
if number >= 3:
for i in range(2,number):
if (number%i)==0:
break
elif i == (number-1):
the_sum += number
elif number==2:
the_sum += number
print (the_sum)
請試試這個。
2 是一個質數,你需要包括它。 還有 3,你正在檢查 > 3 ,它應該是 >=
the_sum = 0
for number in range(2,20):
for i in range(2,number):
if (number%i)==0:
break
else:
the_sum += number
print(the_sum)
我更改了以下代碼行 if 條件我將其更改為if number >= 2
而不是if number > 3
因為二也是素數,因此也需要將其添加到總和中。
注意:范圍函數總是開始生成0
而不是1
可迭代對象,並以小於限制的1
結束,例如:
范圍(0, 4)
將生成從0 to 4
數字
the_sum = 0
for number in range(1, 4):
# numbers = [1, 2, 3,]
if number >= 2:
for i in range(2,number):
if (number%i)==0:
break
else:
the_sum += number
print (the_sum)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.