Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python返回语句的问题_Python_Return - Fatal编程技术网

Python返回语句的问题

Python返回语句的问题,python,return,Python,Return,您好,我是python新手,不知道您是否能帮我做点什么。 我一直在玩弄这段代码,似乎无法让它工作 import math def main(): if isPrime(2,7): print("Yes") else: print("No") def isPrime(i,n): if ((n % i == 0) and (i <= math.sqrt(n))): return False if (i

您好,我是python新手,不知道您是否能帮我做点什么。 我一直在玩弄这段代码,似乎无法让它工作

    import math

def main():
    if isPrime(2,7):
        print("Yes")
    else:
        print("No")

def isPrime(i,n):
    if ((n % i == 0) and (i <= math.sqrt(n))):
        return False
    if (i >= math.sqrt(n)):
        print ("is Prime: ",n)
        return True
    else:
        isPrime(i+1,n)
main()
我确信函数应该返回true,然后它应该打印“Yes”。
我遗漏了什么吗?

您正在丢弃递归调用的返回值:

def isPrime(i,n):
    if ((n % i == 0) and (i <= math.sqrt(n))):
        return False
    if (i >= math.sqrt(n)):
        print ("is Prime: ",n)
        return True
    else:
        # No return here
        isPrime(i+1,n)
现在,您的代码将打印:

>>> isPrime(2,7)
is Prime:  7
True

你为什么不在答案上加上回报呢?然后我可以删除我的答案:Phehe-bah测试是针对wimps:P的
else:
    return isPrime(i+1,n)
>>> isPrime(2,7)
is Prime:  7
True