您的位置:首页 > 编程语言 > Python开发

巧算年龄

2016-07-14 00:00 183 查看
问题描述:

有5个人坐在一起,问第5个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第3个人,又说比第2个人大2岁。问第2个人,说比第1个人大2岁。问最后1个人,他说是10岁。
请问第5个人多大?

我的思路:

这个程序是一个需要不断回调原函数的典型,后面也有一个类似问题,这次换个写法;

定义一个计算年龄的函数,因为第一个人的年龄为10,后面的人依次加2,因此根据for循环按照循环的次数i计算第i个人的年龄;

我的代码:

#coding=utf-8
def olds (man):
old=10
for i in range(1,man):
old+=2
i+=1
print "第%d个人的年龄为%d" % (man,old)
olds(1)
olds(2)
olds(3)
olds(4)
olds(5)


结果:

第1个人的年龄为10

第2个人的年龄为12

第3个人的年龄为14

第4个人的年龄为16

第5个人的年龄为18

示例代码:

def age(idx):
return 10 if idx == 1 else age(idx-1) + 2
print age(5)


这个程序也很好理解的,就是通过判断传入的参数5依次得到age(4)+2而age(4)=age(3)+2, age(3)=age(2)+2 , age(2)=age(1)+2 ,age(1)=10,结果就是age(1)+2+2+2+2

题目出处:http://www.cheemoedu.com/exercise/33
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python