python :古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
时间: 2023-10-16 19:20:28 浏览: 109
小甲鱼python课后题及答案整理.docx
这是一个经典的 Fibonacci 数列问题。可以使用递归或循环的方式来解决。
以下是使用循环方式计算每个月兔子的总数的 Python 代码:
```python
def rabbit_count(month):
# 初始时有1对兔子
a, b = 1, 1
for i in range(month):
# 每个月的兔子总数等于上个月的兔子总数加上新生的兔子对数
a, b = b, a + b
return a
# 计算第12个月的兔子总数
print(rabbit_count(12)) # 输出:144
```
在上面的代码中,我们使用变量 `a` 和 `b` 来记录上个月和当前月的兔子总数。初始时,这两个变量都等于1,表示第1个月和第2个月的兔子总数都是1对。然后使用循环计算从第3个月到第 `month` 个月的兔子总数,并返回第 `month` 个月的兔子总数。在每次循环迭代中,我们更新变量 `a` 和 `b`,将 `b` 赋值给 `a`,并将 `a+b` 赋值给 `b`,这样就可以计算出下个月的兔子总数了。
阅读全文