[英]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.