有5个人坐在一起,问第5个人多少岁?他说比第4个人大2岁;
问第4个人岁数,他说比第3个人大2岁;
问第3个人,又说比第2人大2岁;
问第2个人, 说比第1个人大2岁;
最后问第1个人,他说是10岁。
请问第五个人多大?
程序分析:
逆着推理:10 12 14 16 18;使用递归方法2,递归函数,进行的则运算 来自return返回的值,所以return要保持是int类型,不可以加字符串,否则报错 type + int错误。 代码:
# 程序27
'''
题目:
有5个人坐在一起,问第5个人多少岁?他说比第4个人大2岁;
问第4个人岁数,他说比第3个人大2岁;
问第3个人,又说比第2人大2岁;
问第2个人, 说比第1个人大2岁;
最后问第1个人,他说是10岁。
请问第五个人多大?
程序分析:
逆着推理:10 12 14 16 18;使用递归方法
'''
def how_age(n):
"""使用递归逆着推理年龄大小"""
if n == 1:
age = 10
print(f'第{n}个人,年龄的是{age}岁')
return 10
else:
age = how_age(n - 1) + 2
print(f'第{n}个人,年龄的是{age}岁')
return age
how_age(5)
结果:
第1个人,年龄的是10岁 第2个人,年龄的是12岁 第3个人,年龄的是14岁 第4个人,年龄的是16岁 第5个人,年龄的是18岁 Process finished with exit code 0



