因此,我試圖找到第6個質數,並且getPrime中的while循環無法正常工作。當count大於num時,它應該結束,但它不會。 如果你能幫我找出原因,那會很好。while循環在Python中不能正常工作
import math
def isPrime(num):
if num == 1:
return False
if num % 2 == 0 and num > 2:
return False
for i in range(3, int(math.sqrt(num))+1, 2):
if num % i == 0:
return False
return True
def getPrime(num):
count = 1
while count < num:
for i in range(1, 20):
#print "check"
if isPrime(i):
print "prime", i
count += 1
print "count", count
else:
continue
print i
return i
getPrime(6)
因此,在短期你想知道有多少素數是0和num或獲得之間在一定範圍內的最高質數:像
試試?爲什麼只在數組[1,20]中尋找素數? – Beri 2015-02-10 08:14:16
爲什麼你完全使用範圍(1,20)? – 1Darco1 2015-02-10 08:14:41
另外,當函數結束時,「i」可能還沒有被定義/初始化。 – 1Darco1 2015-02-10 08:17:07