白黑凤梨 发表于 2020-5-22 19:03:38

关于递归求最大公约数的作业,我这个代码哪里出了问题?

rt,小白求教,为什么代码输出的结果一直是None


def gys(x,y):
    if x%y==0:
      return y
    else:
      t=y
      y=x%y
      x=t
      gys(x,y)
      
print(gys(8,12))

qiuyouzhi 发表于 2020-5-22 19:04:32

改成这样:
def gys(x,y):
    if x%y==0:
      return y
    else:
      t=y
      y=x%y
      x=t
      return gys(x,y)
      
print(gys(8,12))

heidern0612 发表于 2020-5-22 19:12:08

你函数没有return的话,默认返回是个空值,意思就是啥也没有。

所以你打印的话,应该也是个空值(None)。

白黑凤梨 发表于 2020-5-23 10:58:16

heidern0612 发表于 2020-5-22 19:12
你函数没有return的话,默认返回是个空值,意思就是啥也没有。

所以你打印的话,应该也是个空值(None) ...

感谢!

白黑凤梨 发表于 2020-5-23 10:59:45

qiuyouzhi 发表于 2020-5-22 19:04
改成这样:

非常感谢!
页: [1]
查看完整版本: 关于递归求最大公约数的作业,我这个代码哪里出了问题?