1 # encoding:utf-8
2 '''
3 Created on 2017年8月7日
4 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
5 小兔子长到第三个月后每个月又生一对兔子,
6 假如兔子都不死,问每个月的兔子总数为多少?
7 知识链接:
8 1、在使用函数传递变量时不要同全局变量的名称一样
9 2、全局变量在函数中使用时,需要用 global声明
10 @author: wangtaoyuan
11 '''
12 new = 1#刚出生的小兔子对数
13 one = 0#一个月大的兔子对数
14 old = 0#两个月及以上的兔子,成熟兔子对数
15 i = 0
16 m = input('please input a inter of months:')
17 print ' ',old + new + one#初始兔子的总数
18 def growup( newl, onel, oldl):
19 global new, old, one, two
20 old = oldl + onel#1个月大的兔子成长为成熟兔子
21 print 'old:',old
22 one = newl #刚出生的兔子成长为一个月大的兔子
23 print 'one:', one
24 new = 0
25 def breed(oldl):
26 global new
27 new = old #一对成熟兔子可以下一对刚出生的小兔子
28 print 'new:', new
29 while i < m:
30 print i+1,'个月后:'
31 growup(new, one, old)#成长1个月
32 breed(old)#成熟的兔子生小兔子
33 i += 1
34
35 print ' ',old + new + one#兔子的总数