pythongirl 发表于 2020-12-23 22:34:26

第023、024讲最后一题求助



各位大神~ 想请教一下~这里的else后 return 为什么要 +2呢?

感谢回答~~ {:5_91:}

一世轻尘 发表于 2020-12-23 23:05:48

是*,打错了吧

heidern0612 发表于 2020-12-24 07:59:15

不是大2岁吗?

qq1151985918 发表于 2020-12-24 08:42:09

因为age(1)就是第一个人的年龄,其他人都依次大两岁,所以如果不是第一个人,就依次加2

z5560636 发表于 2020-12-24 09:26:27

def age(n):
    if n == 1:
      return 10
    else:
      return age(n-1) + 2   #此处的加2 不在函数调用时候运算,而在递归后执行.
      # 理解上可以拆分成两句a = age(n-1) return a += 2
print(age(5))

pythongirl 发表于 2020-12-24 22:37:37

z5560636 发表于 2020-12-24 09:26


大概懂了,但是一下子还是比较难理解{:5_99:}
页: [1]
查看完整版本: 第023、024讲最后一题求助