【发布时间】:2017-02-07 00:41:31
【问题描述】:
我是 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)
【问题讨论】:
-
只需在对
gcd(...)的递归调用前添加return -
我在函数中有一个 return 语句,不像那个问题。但是为什么函数仍然没有返回值。我得到了解决方案,但仍然无法弄清楚它的工作方式。
标签: python