簡體   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