繁体   English   中英

我怎样才能得到一个递归的python函数来返回一个值?

[英]How can I get a recursive python function to return a value?

我是 python 的新手,我只是在写一个简单的递归函数来返回两个整数的 GCD。 如果我在 gcd 函数中使用 print 语句,该函数就可以正常工作。 但是,如果我让函数返回值并尝试在函数外打印返回值,则不会打印任何内容。 这可能是一个小问题,但我尝试了很多东西,但没有任何效果。 我在这里做错了什么?

def gcd(m,n):
    if m==n:
        return m
    else:
        if m>n:
            gcd(m-n,n)
        else:
            gcd(m,n-m)
m=int(input('Enter first number'))
n=int(input('Enter second number'))
out=gcd(m,n)
print(out)

当您进行递归调用时,您还希望返回其返回值。 否则,每当它调用自己时,它不会对它获得的值做任何事情,默认情况下只返回None

return gcd(m,n-m)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM