python兔子_python学习:关于生兔子问题
python学习:关于生兔子问题
今天一个朋友问了一个很有意思的问题,是一个关于生兔子的。我用的python3.6写的python程序,可能和有的人用的编程环境不一样,但是语法是差不多的。
首先上问题:有个编程算法题–
有一对兔子,出生后三个月开始生一对兔子,生完后每个月生一对兔子,刚出生的兔子也满足上面的生育条件。如果兔子不死亡请求出时间月份与兔子之间数量的因果,如果四个月是兔子寿命,请问时间与兔子之间会发生怎么样的变化。
有学其他语言的朋友也可以试试,感觉满有意思的。
先上程序吧~
#有一对兔子,出生后三个月开始生兔子,生完后每个月生一对兔子,
#生完后每个月生一对兔子,刚出生的兔子也满足上面的生育条件。
#如果兔子不死亡请求出时间月份与兔子之间数量的因果,
#如果四个月是兔子寿命,请问时间与兔子之间会发生怎么样的变化。
#------------------全局变量------------------#
time_1=0#变化的时间,按月计算
tuzi_zhongqun=[]#用列表来写第几个月的兔子,主要是用来看兔子能不能生
tuzi_shuliang=[]#用来统计第几个月的时候新生的兔子数量
#------------------全局变量------------------#
#-----------------面向对象--------------------#
class tuzi():#兔子有两个能力,一个是年龄会增长,一个是生育
def __init__(self):
self.shengyunengli=0
self.age=0
def tuzizhuangtai(self):#兔子的年龄加一个月,同时随时间改有没有生育能力
self.age+=1
if(self.age>=3):
self.shengyunengli=1
#-----------------面向对象--------------------#
#-------------------函数-----------------------#
def panduan_nengbunengsheng():
global time_1
global tuzi_shuliang
xintuzi=0
for i in range(len(tuzi_zhongqun)):
if(tuzi_zhongqun[i].shengyunengli==1):
xintuzi=tuzi_shuliang[i]+xintuzi#如果有生育能力,就生这个种群兔子数目的新兔子,都给新兔子数目
tuzi_shuliang.append(xintuzi)
#-------------------函数-----------------------#
#----------------------初始化---------------------#
tuzi_shuliang.append(2)
time=int(input("请输入时间:"))#输入要统计多少月内的兔子数
#----------------------初始化---------------------#
#----------------------主程序---------------------#
while(1):
if(time_1==time):#如果时间到了预定的时间,就输出所有的兔子的数量,然后跳出循环
k=0#用来统计所有的兔子数量
for i in range(len(tuzi_shuliang)):#将所有的兔子数量都加到K里面
k+=tuzi_shuliang[i]
for i in range(len(tuzi_zhongqun)):
print(tuzi_zhongqun[i].shengyunengli)
print(tuzi_shuliang)
print(k)
break
elif(time_1
最后输出的就是第几个月的兔子有没有生育能力和第几个月生的兔子和所有兔子的数量。
我只草草写了一下,这个程序还不够精炼,有兴趣的可以试试换种方式写,或者C++写或者是其他的语言写。
python兔子_python学习:关于生兔子问题相关推荐
- 2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?
2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?编程界的王者是渐落寞的Java还是大火的Python? 是不是你们也喜 ...
- 经典兔子问题python视频_Python练习题 007:兔子生兔子
[Python练习题 007] 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? ----------------- ...
- python异常处理_Python学习点滴04 - 学会异常处理(2)
前言 我们在开发Python程序时经常会遇到一些错误(语法错误和异常),尤其是程序代码发生异常(Exceptions)时,如果不能及时捕获异常和有效处理异常,则程序运行会被终止,有可能会造成相应的后果 ...
- 菜鸟学python 哪吒_Python 学习之路 (前言)
为什么要学Python 1,脚本语言本身很方便简洁,未来会有趋势 2,web 方向 3,运维方向 我是学静态语言出身的,java,毕业后从事android 应用开发,曾在工作期间学习过linux,想从 ...
- python勾股定理_Python学习第128课——在Python中实现醉汉随机游走
[每天几分钟,从零入门python编程的世界!] 这节我们在2D平面内实现随机游走.我们先把原理搞清楚,用代码实现这个原理. 原理分析: 我们想像在2D平面内有一个x轴和y轴组成的坐标系,有一个人他是 ...
- python不简单_Python学习并不简单!月薪过万也不易
Python入门简单,精通不易 可以说,大部分编程语言都是入门简单,精通不易. 了解编程语言的基本语法很快,使用编程语言开发符合企业标准的项目很难.要想达到企业用人标准,需要花费非常多的时间去学习编程 ...
- python大纲_python学习大纲
知乎获赞无数的编程指南,介绍的不光是一门语言的入门,也是关于编程的入门,谈到了作为一名程序员,应该掌握的一些计算机知识. ------ 二.Python社区 强烈推荐Python Tip,有刷题挑战赛 ...
- 零基础学python数据分析_Python学习指南:使用Python学习数据分析
如今,在大数据行业中Python和数据分析可能是最常听到的两个词,在当今蓬勃发展的科技领域,精通这两项技术可以带来无限的可能.近年来,我们看到Python教育在大数据领域突飞猛进. 因此,这里我们提供 ...
- 嵩天python笔记_Python学习笔记
链接B站,嵩天老师零基础学习视频:https://www.bilibili.com/video/av19391909?p=2 程序设计语言:编译型,一次性执行结束(c语言)和解释型,逐条执行,便于维护 ...
最新文章
- 对 Thinking in java 4th Edition I/O DirList.java的疑问
- ubuntu mysql 改密码_tpcc-mysql 压力测试
- android WebView中js的alert()失效
- 【JavaScript】核心语法之数组
- 喜报!「神策 SA 分析师认证」第三期认证名单正式公布
- 20155238 实验四 Android程序设计
- CentOS6.9部署zabbix3.0监控系统
- pdo 参数化查询 mysql函数_PDO笔记之参数化查询
- CPU结构与指令执行过程简介
- 智能硬件开发神器免费送!距离产品智能化,只差一个“三明治”的距离
- khv是什么虚拟服务器,服务器虚拟化vSphere4 vs Hyper-V R2,选择谁?
- python如何提取数据_python提取数据的常用方法
- 【python】使用in判断元素是否在列表(list)中,如何提升搜索效率?
- laravel文档——文件夹结构
- 快来:互联网内容运营人员的文案写作技巧
- 硬盘数据丢失怎么恢复?分享固态硬盘恢复数据的4个方法
- 我发现凡是给offer的公司,面试时基本不问技术细节,那些问得又多又细的公司,后面就没下文了!
- python爬取微博热门消息(一)——效果展示
- linux下vim编辑器插件,为你介绍Linux系统中vim编辑器的实用插件!
- 用border-image实现QQ气泡聊天窗效果
热门文章
- 微信小程序连接物联网(二):NodeMCU Lua学习笔记
- Self-Signed SSL证书创建和使用
- Exposure X7胶片滤镜模拟软件 PS/LR调色插件 500+特效预设
- 计算机系统应用是不是核心期刊,计算机系统应用
- 密码套件cipher suite
- 2019年总结-2020年计划
- CSS font-style斜体字体倾斜体样式
- 软件测试影响与分析,软件测试效率影响因素分析 - Mr.南柯 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
- The LeVoice Far-field Speech Recognition System for VOiCES from a Distance Challenge 2019
- vmware exis如何设置双网卡