运行程序时,它会计算所需的正确答案。 但是,if循环中的return函数不返回所需的答案,而是返回" None"。 我已经尝试过查找它了,我确信它有点愚蠢我不知道。
def is_prime(n):
#function tocheck if number is prime
for i in range(2,n):
#print (i)
if n%i==0:
return False
return True
def gap(g,m,n):
#Function to find prime number
#pair with prime gap "g"
print (is_prime(m),m)
print (is_prime(m+g),m+g)
if is_prime(m) and is_prime(m+g):
print ("This is the right answer : ",[m,g+m])
#value not returning
return [m,g+m]
elif g+m<n:
print("restart with",m+1)
gap(g,m+1,n)
print (gap(8,300,400))
答案 0 :(得分:1)
我认为你需要return gap(g,m+1,n)
。否则该函数将不返回递归调用的结果。