python猴子吃桃问题(while循环)_「每日一练」巧用python计算猴子吃桃问题

猴子吃桃一直以来都是数学家们津津乐道的话题,倒不是说这个题目有多难,主要是它的逆向思维能帮我们解决很多生活和生产中的问题!

下边我们就一起来看看python是怎么计算的?

题目

猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,看见只剩下一个桃子了。求第一天共摘了多少。

代码

先上代码~

运行效果

题目详述

程序分析:采取逆向思维的方法,从后往前推断。

第一行:

x = 1

定义一个变量x主要用于记录第十天之后,还剩多少个桃子,题目中是剩1个了,这里就是1

第二行:

for day in range(9,0,-1):

这里创建了一个从9到1的循环,我们看到了range的新用法,这里详细的介绍一个range,三个参数依次是起始值,最终值,计算值,而且range遵循取左不取右的逻辑,即取起始值,不取最终值,所以这里是从9到1的循环,而且是依次减1

第三行:

x = (x + 1) * 2

第day天的时候,猴子还剩下的桃子的个数是前一天加上1,再乘以2,即 (x + 1) * 2,将它赋值给x,再用新的x的值进入下一层的循环,就能不断的实现计算下一天桃子总数的计算

第四行:

print (x)

输出x的值,即是第一天猴子拥有的桃子个数!

进阶:

利用这个原理我们可以轻松的去判断某个数,并根据我们的条件取数

是不是很便捷呢

结束语

总体来说思路只要有了,以后遇到类似的问题就可以解决了,是不是发现原来Python也没有想象中的那么难!

———— e n d ————

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值