-1
這個問題很簡單,但是這一次,我需要使用三種不同的方法而不是一種。他們是:isPrime,getPrimes,sumPrimes。在Python上使用三種方法的素數總和低於200萬
這是我原來的:
import sys
print("")
def is_prime(n):
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
prime_sum = 0
for i in range(2, 10): #change 10 back to 2000000
if is_prime(i):
prime_sum += i
print ("Sum of all the primes below 10 = ", prime_sum)
我的問題是我怎麼可以得到prime_sum = 0開始到內的不同該項工作爲sumPrimes上述聲明?我試過這樣做:
def sum_primes():
prime_sum = 0
for i in range(2, 10): #change 10 back to 2000000
if is_prime(i):
prime_sum += i
#print ("Sum of all the primes below 2,000,000 = ", prime_sum)
print ("Sum of all the primes below 10 = ", prime_sum)
return sum_primes()
但它不起作用。我是Python的新手,所以我會很感激一些反饋。謝謝。
的解決方案和您必須_RETURN'到底prime_sum' ...並考慮erathostenes的篩生成素列表2米倫。快多了。 –
「它不工作」是**不是一個足夠的問題陳述**。另外,這些只是*函數*,它們不是*方法*。 –