首页 > 编程语言 >python中实现兔子问题递推

python中实现兔子问题递推

时间:2023-08-29 20:35:33浏览次数:47  
标签:python py list1 兔子 generation ## 递推 size

 

兔子一代生3对,然后每隔一代兔子才有繁殖能力,问最初有1对兔子,问5代后一共有多少只兔子?

001、直接实现

>>> list1 = [1] * 5
>>> list1
[1, 1, 1, 1, 1]
>>> for i in range(2,5):
...     list1[i] = list1[i - 1] + list1[i - 2] * 3
...
>>> list1                ## 1到5代的兔子数目如下
[1, 1, 4, 7, 19]

 

002、借助函数结构实现

[root@pc1 test01]# ls
test.py
[root@pc1 test01]# cat test.py             ## 统计函数
#!/usr/bin/env pythoh
# -*- coding: utf-8 -*-

generation = 5
size = 3

def count(generation, size):
        list1 = [1] * generation
        for i in range(2,generation):
                list1[i] = list1[i - 1] + list1[i - 2] * size
        return list1[generation - 1]

print(count(generation, size))
[root@pc1 test01]# python3 test.py          ## 统计结果
19

 。

 

标签:python,py,list1,兔子,generation,##,递推,size
From: https://www.cnblogs.com/liujiaxin2018/p/17665762.html

相关文章

  • python多线程
    python多线程多线程threading,利用CPU和IO可以同时执行的原理多进程multiprocessing,利用多核CPU的能力,真正的并行执行任务异步IOasyncio,在单线程利用CPU和IO同时执行的原理,实现函数异步执行使用Lock对资源加锁,防止冲突访问使用Queue实现不同线程/进程之间的数据通信,实现生......
  • Centos误删系统自带python2.7,yum报错恢复方法
     使用wget分别下载python以及yum的rpm包资源地址如下:          http://vault.centos.orgmkdir/usr/local/src/pythoncd/usr/local/src/pythonwgethttp://vault.centos.org/7.6.1810/os/x86_64/Packages/python-backports-1.0-8.el7.x86_64.rpmwgethtt......
  • python3.6使用wordcloud 1.9报错ValueError: Only supported for TrueType fonts
    该版本的wordcloud的源码中显示不兼容python3.6 解决办法:修改wordcloud源码修改前508:box_size=draw.textbox((0,0),word,font=transposed_font,anchor="lt")510:result=occupancy.sample_position(box_size[3]+self.margin,......
  • python字符串内容分割
    分隔主要涉及到split,rsplit,splitlines,partition和rpartition五个方法。split以指定字符串为分隔符切片,如果maxsplit有指定值,则仅分隔maxsplit+1个子字符串。返回的结果是一个列表。没有指定分隔符,默认使用空格,换行等空白字符进行分隔char="hello\nworld"result=c......
  • 【Python】报错处理笔记
    shutil.rmtree(path)报错:PermissionError:[WinError5]分析:对应的目录或文件被设置了只读属性解决方案:defremove_readonly(func,path,_):#错误回调函数,改变只读属性位,重新删除"Clearthereadonlybitandreattempttheremoval"os.chmod(path,stat.S_I......
  • 重启python-数据类型-字典和集合
    一,字典和集合初始字典:d1={'name':'jason','age':20,'gender':'male'}集合:s1={1,2,3,4,5}二,二者的区别唯一的区别,就是集合没有键和值的配对,是一系列无序的、唯一的元素组合。三,内置操作字典:增删改查集合:增删改查注意:集合的pop()操作是删除集合中最后一个元素,可是......
  • Python 中一些常用的
    对变量类型转换的内置函数int():将一个数值或字符串转换成整数,可以指定进制。float():将一个字符串转换成浮点数。str():将指定的对象转换成字符串形式,可以指定编码。chr():将整数转换成该编码对应的字符串(一个字符)。ord():将字符串(一个字符)转换成对应的编码(整数)。这个经常用。......
  • Python+Flask设置接口开机自启动
    Windows系统适用创建一个批处理文件(例如 start_flask_api.bat),内容如下:@echooffcd/dC:\path\to\your\flask\app//你要启动程序的路径pythonapp.py//你要启动的程序将批处理文件添加到Windows的启动项中:按下Win+R键打开"运行"对话框,输入 shell:startup 并按回车......
  • Windows环境 python手动安装三方库详解
    当运行pip安装三方库时,无法正常安装,可以自己手动安装一下详解:1、首先找到需要下载的三方库的安装包---三方库下载地址:https://pypi.org/project  打开网址搜索需要下载的三方库的安装包,我是以“locust”为例找到需要下载的三方库,点击进去找到对应的版本下载对应的****......
  • Python学习日记 xpath练习
    importrequestsfromlxmlimportetreeimportreimportrandomimporttracebackfromtimeimportsleep#url='https://image.baidu.com/search/acjson?tn=resultjson_com&logid=8700291432374701138&ipn=rj&ct=201326592&is=&fp=result&a......