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


代码:

1
2
3
4
5
6
7
   2 
   3  month  =  int ( input ( '请输入你要查询的月份:' ))
   4  mon  =  int (month / 3 )
   5  =  2
   6  for  in  range ( 1 ,mon + 1 ):
   7      + =  m
   8  print ( '这个月的兔子总数为%d' % m)


运行结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@HK code_100] # python code_11.py 
请输入你要查询的月份: 3
这个月的兔子总数为 4
[root@HK code_100] # python code_11.py 
请输入你要查询的月份: 6
这个月的兔子总数为 8
[root@HK code_100] # python code_11.py 
请输入你要查询的月份: 11
这个月的兔子总数为 16
[root@HK code_100] # python code_11.py 
请输入你要查询的月份: 50
这个月的兔子总数为 131072
[root@HK code_100] #


代码解释:

    解题思路:因为不确定会输入多少月份,所以不能计算出所有月份的数量再取值,只能利用循环语句循环到输入的月份然后累加得到结果,最重要的是要将输入的月份转换成繁殖的次数,然后基于繁殖次数进行累加,具体代码解释如下: 

1
2
3
4
5
6
7
   2 
   3  month  =  int ( input ( '请输入你要查询的月份:' ))    #输入要查询的月份
   4  mon  =  int (month / 3 )                             #输入的月份除以3然后取整,会计算出繁殖的次数
   5  =  2                                 #初始是2只兔子
   6  for  in  range ( 1 ,mon + 1 ):               #计算出繁殖的次数,然后在次数内遍历
   7      + =  m                             # 每循环一次,自身数量累加一次,得出总和
   8  print ( '这个月的兔子总数为%d' % m)        #格式化输出兔子总数