注册 登录
编程论坛 Python论坛

递归编程

ldh123 发布于 2016-06-01 15:23, 4391 次点击
有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大
2 回复
#2
伍则帝2016-09-29 17:50
def getyear(one,num):
    if one == num:
        return 10
    return getyear(one+1,num)+2
print getyear(0,4)
>>>18
   
   
#3
莫珞lili2016-09-30 17:10
回复 2楼 伍则帝
借楼问一下。你写的那个递归。是不是不可以写成这样
def getyear(one,num):
     if one == num:
         return 10
     else:
         return getyear(one+1,num)+2

但是我在写类似的递归的时候,自己在调试的时候是可以运行成功的。但是在平台上检测的时候,总是会提示代码中要调用递归。所以我有点懵逼。可否指教下?谢谢
1