编写程序计算,有一对兔子,从出生后第3个月起每个月都生一对兔子, 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少(假设一个月30天) ?python

# 第一种方法:
rb1 = 1
rb2 = 1
month = int(input("请输入月份:"))
if month == 1 or month == 2:
    print(f'{month}月的兔子有1对')
else:
    rb = 0
    for i in range(month-2):
        # 下个月的兔子数rb = 上上个月的兔子数rb1 + 上个月的兔子数rb2
        rb = rb1 + rb2
        rb1 = rb2
        rb2 = rb
    print(f'{month}月的兔子有{rb}对')
# 第二种方法:(递归)列表
num_list = [1,1]
month = int(input("请输入月份:"))
if month == 1 or month ==2:
    print(f'{month}月的兔子有1对')
else:
    for i in range(month-2):
        # 如何在列表中添加元素用:列表名.append()
        # [-1]代表列表中的最后一个元素,[-2]是列表中倒数第二个元素依此类推
        num_list.append(num_list[-1] + num_list[-2])
    print(f'{month}月的兔子有{num_list[-1]}对')
#第三种方法:(定义方法)
def rb_count(month):
    if month == 1 or month == 2:
        return 1
    else:
        return rb_count(month-1)+rb_count(month-2)
month =int(input('请输入月份:'))
print(f'{month}月的兔子有{rb_count(month)}对')

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值