page contents

python基础编程100例:第29期-微生物增殖

本文讲述了python基础编程100例:第29期-微生物增殖!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2022-03-rs0k0TwM62329a54b3ab1.png

本文讲述了python基础编程100例:第29期-微生物增殖!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

第29期-微生物增殖

1 问题描述

假设有两种微生物 X 和 Y ,X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。

一个新出生的X,半分钟之后吃掉1个Y,并且从此开始,每隔1分钟吃1个Y。

现在已知有新出生的 X=10, Y=90,求60分钟后Y的数目。

X先吃Y,X、Y再增殖


2 解题思路

1-60分钟,使用for循环遍历每一分钟

由于X先吃Y,X、Y再增殖,所以先减后乘

判断时间是否是2或者3的倍数,使用求余

3 解题方法

X, Y = 10, 90

for i in range(1, 61):

    Y -= X

    if i % 2 == 0:

        Y *= 2

    if i % 3 == 0:

        X *= 2

print(Y)

第1行: 定义变量X与Y,并为之赋值10、90

第2行: 使用for循环遍历每一分钟

第3行: 由于X先吃Y,X、Y再增殖,所以先给Y赋值被吃后的值

第4-7行: 判断时间是否为2分钟或三分钟,是两分钟则Y翻倍,是三分钟则X翻倍

第8行: 打印Y的值


代码运行结果为:

attachments-2022-03-zpkl2zrj62329a048936a.png小思考

如果将Y的初始值换成89,结果会如何呢?代码如下


X, Y = 10, 89

for i in range(1, 61):

    Y -= X

    if i % 2 == 0:

        Y *= 2

    if i % 3 == 0:

        X *= 2

print(Y)

代码运行结果为:

attachments-2022-03-VHJOrL6Y62329a10387b3.png可以看到,仅仅是修改了一点点的值,最终的结果居然是Y灭绝了!正所谓差之毫厘,谬之千里,各位小伙伴写代码时一定要细心呀

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-CJq6PPWF6291957ed8ff7.jpeg

  • 发表于 2022-03-17 10:18
  • 阅读 ( 761 )
  • 分类:Python开发

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章