我不确定这是否是正确的地方,但我已经遇到了代码问题。我试图找到第9个斐波纳契数,这是一个素数,但我遇到了问题。首先,检查数字是否为Prime的函数返回单个数字素数(2,3,5,7)的无。接下来,我认为我正在寻找的值是514229,如here所示,但我的程序显示给出的值为17711,因为第9个Fibonacci素数不正确。我的代码发布在下面:
def isPrime(n):
n = abs(int(n))
if n < 2:
return False
elif n == 2:
return True
elif not n & 1:
return False
else:
for x in range(3, n/2):
if n % x == 0:
return False
return True
def chkFibonacci():
num1 = 1
num2 = 1
mySum = 0
ctr = 0
choice = 'n'
while (choice != 'y'):
mySum = num1+num2
#print mySum
if (isPrime(mySum)== True):
ctr = ctr + 1
print mySum
if (ctr == 9):
print mySum
break
num1 = num2
num2 = mySum
chkFibonacci()
print isPrime(3)
感谢任何帮助。在此先感谢!!
答案 0 :(得分:5)
return True
的{{1}}分支中的{p> else
似乎缩进了太多。