在正式分析之前,我们还是先来看一下题目。
抓狂.jpg
有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
这个问题,如果要是换算成数学的问题,相当与是一个等差数列的概念,然后可以倒过来,首项是10,公差是2。
明白这个概念之后,我们就可以来写代码啦!
# 年龄递归的问题
def age(n): # 我们首先定义一个函数n
if n == 1 : c = 10 # 当n为1时,这里可以理解为第一个人,岁数为10
else: c = age(n-1)+2 # 否则的话,年龄是前一个人的年龄的岁数,加上2
return c # 返回年龄的值
s = int(input("请输入第几个人:")) #自定义第几个人
print(age(s)) # 打印出结果
2020年2月27日
北京市通州区京贸中心
网友评论