1 #题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
代码:
1
2
3
4
5
6
7
|
2
3
month
=
int
(
input
(
'请输入你要查询的月份:'
))
4
mon
=
int
(month
/
3
)
5
m
=
2
6
for
i
in
range
(
1
,mon
+
1
):
7
m
+
=
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
m
=
2
#初始是2只兔子
6
for
i
in
range
(
1
,mon
+
1
):
#计算出繁殖的次数,然后在次数内遍历
7
m
+
=
m
# 每循环一次,自身数量累加一次,得出总和
8
print
(
'这个月的兔子总数为%d'
%
m)
#格式化输出兔子总数
|
本文转自snc_snc 51CTO博客,原文链接:http://blog.51cto.com/netsyscode/1744179
,如需转载请自行联系原作者