python返回函数没有传递值

时间:2017-09-10 10:55:00

标签: python

运行程序时,它会计算所需的正确答案。 但是,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))

1 个答案:

答案 0 :(得分:1)

我认为你需要return gap(g,m+1,n)。否则该函数将不返回递归调用的结果。