python递归回来为none的问题

weimao2410 2016-05-12 12:34:21

def gcm(a,b):
if b == 0:
return a
else:
gcm(b, a % b)

辗转相除法,算出最后的公约数返回,但是递归完执行上一层不满足b==0的条件,所以最后总是返回None,那么程序应该怎么改?
...全文
144 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
关山路遥 2016-05-12
  • 打赏
  • 举报
回复
是需要加return
dianyancao 2016-05-12
  • 打赏
  • 举报
回复
加上return就行
def gcm(a,b):
    if b == 0:
        return a
    else: 
        return gcm(b, a % b)
卖银的骷髅 2016-05-12
  • 打赏
  • 举报
回复
else 语句里面 要写 else: return gcm(b,a%b)
老王爱上猫 2016-05-12
  • 打赏
  • 举报
回复
没错吧...

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧