一个python编程题目——面向对象的

一个古典问题,有一对兔子从出生后3月起一个月生一对小兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数是多少

这题目我想用python的面向对象编程编写,具体方法是声明一个类,这个类能够自己判断自己的出生时间,到时间就自己产生新的对象,这方法能行吗?最好能给出源码,谢了。

第1个回答  2010-01-04
首先你的方法我觉得冗余,用函数递归就能实现

k=10
s=[2]

def rabbit(m=1):
while m<k:
if m%3==0:
s.append(s[-1]*2)
else:
s.append(s[-1])
return rabbit(m+1)
else:
print s

if __name__ == '__main__':
rabbit()
第2个回答  2010-01-05
你要是非想这么搞的话可以这样:

把所有新创建的对象(兔子)放到一个列表里,然后在一个表示时间递增的循环里修改每个对象的状态(兔子的年龄),并且判断是否要生成新的对象(兔子),新生成的对象也加入这个列表中。本回答被提问者采纳
第3个回答  2010-01-02
不一定的,以后每个月越来越多兔子,没有准确数目
第4个回答  2010-01-02
你沉迷了
相似回答