python基础100题第十一题

题目:

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


程序分析:


兔子的规律为数列 1,1,2,3,5,8,13,21 后一个月为前两个月之和
第1个月   1对 = 总和1对
第2个月   1对 = 总和1对
第3个月   1对+1对新生 = 总和2对
第4个月   2对+1对新生 = 总和3对
第5个月   3对+2对新生 = 总和5对
第6个月   5对+3对新生 = 总和8对
第7个月 ...
第8个月...

代码:

#程序11
'''
题目:
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子, 小兔子长到第三个月
后每个月又生一对兔子, 假如兔子都不死, 问每个月的兔子总数为多少?
程序分析:
兔子的规律为数列 1,1,2,3,5,8,13,21 后一个月为前两个月之和
第1个月   1对 = 总和1对
第2个月   1对 = 总和1对
第3个月   1对+1对新生 = 总和2对
第4个月   2对+1对新生 = 总和3对
第5个月   3对+2对新生 = 总和5对
第6个月   5对+3对新生 = 总和8对
第7个月 ...
第8个月...
'''
def sum_list(n):
    """创建一个兔子列表函数"""
    if n == 1:
        return [1]
    if n == 2:
        return [1, 1]
    #n>2
    sum_all = [1, 1]
    for i in range(2, n):
        sum_all.append(sum_all[-2] + sum_all[-1])
    return sum_all



n = int(input('您想知道第几个月份后的兔子总数,请输入这是第几个月:'))
list1 = sum_list(n)
print('兔子对数列表')
print(list1)

print('兔子总数')
dui_shu = int(list1[len(list1)-1])
result = dui_shu*2
print(result)

 结果:

您想知道第几个月份后的兔子总数,请输入这是第几个月:7
兔子对数列表
[1, 1, 2, 3, 5, 8, 13]
兔子总数
26

Process finished with exit code 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值