|
楼主 |
发表于 2016-5-27 18:50:03
|
显示全部楼层
- class Rabit:
- def __init__(self,life):
- self.life=life #"传递进来兔子的寿命"
- self.big=False #"默认兔子为小兔子不能生育"
- self.y=1 #"每只兔子的年龄"
- self.bron=0 #"兔子生产状态,默认为0"
- def radd(self):
- self.life-=1
- self.y+=1
- if self.big :
- self.bron=1
- return (self.bron,self.life,self.y) #"返回生产状态和新兔子的寿命,兔子的年龄"
- i=0 #"list下标变量"
- raList=[] #"初始化兔子list"
- n=1 #"兔子初始总量为1"
- inlife=int(input("兔子的寿命:"))
- a=inlife
- raList.append(Rabit(inlife)) #"!第一只兔子!放入list"
- while inlife>0: #"!第一只兔子的生命周期活动时间!"
- print("inlife=%d" % (inlife))
- for i in range(len(raList)):
- print("i=%d" % (i))
- print("raList[%d].big=%d" % (i,raList[i].big))
- print("raList[%d].y=%d" % (i,raList[i].y))
- raList[i].radd()
- if raList[i].y > 2 :
- #raList[i].big=True
- #if raList[i].bron==1 :
- raList.append(Rabit(raList[i].life)) #满足生产条件就把新兔子放到list
- n=n+1 #每次生产兔子总数+1
- inlife-=1
- print("1号答案 这对兔子%d个月可以到达%d对" % (inlife,n))
- print("2号答案 这对兔子%d个月可以到达%d对" % (a,len(raList)))
- print("3号答案 这对兔子%d个月可以到达%d对" % (a,i))
复制代码 |
|