有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,打印如果2年以后,一共有多少只兔子。Python编程,代码注释
时间: 2023-09-13 22:05:15 浏览: 82
这是一个经典的 Fibonacci 数列问题,可以使用递归或循环来解决。下面是使用循环的 Python 代码,用于计算 2 年后有多少只兔子:
```python
def rabbit_count(months):
# 定义初始兔子数量和每个月新增的兔子数量
num1, num2 = 1, 1
# 循环计算兔子数量
for i in range(months):
if i < 2:
# 前两个月兔子数量都为 1
num = 1
else:
# 每个月新增的兔子数量等于前两个月兔子数量之和
num = num1 + num2
num1, num2 = num2, num # 更新前两个月兔子数量
return num
total = rabbit_count(24) # 计算 2 年后有多少只兔子
print(f"2年后共有{total}只兔子")
```
代码说明如下:
- 第 1 行:定义名为 `rabbit_count` 的函数,接受一个参数 `months`,表示经过的月数
- 第 3 行:定义初始兔子数量和每个月新增的兔子数量,初始都为 1
- 第 5 行:循环计算兔子数量,循环次数为 `months`
- 第 6-8 行:如果是前两个月,兔子数量都为 1
- 第 10-12 行:如果是第三个月及之后,每个月新增的兔子数量等于前两个月兔子数量之和
- 第 13-14 行:更新前两个月兔子数量,用于下一次计算
- 第 15 行:返回最后一个月的兔子数量
- 第 17 行:调用函数 `rabbit_count`,计算 2 年后有多少只兔子
- 第 18 行:输出计算结果,使用了 f-string 来动态插入变量 `total`
希望这段代码能够帮助您解决问题,如果还有其他问题,请随时提出。