python计算数学题_「每日一练」巧用python做小学的数学题

很多的小学问题其实已经比较复杂了,我们运用传统的算法,可能会比较难以理解,这里我们可以巧用Python来完成一些小学题目的计算!

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

题目

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

代码

先上代码~

运行效果

题目详述

第一行:

tour = []

height = []

定义两个空白列表,分别赋值给tour和height,分别用来收集第n次落地后经过多少米,以及第n次反弹多高

第二行:

hei = 100.0 # 起始高度

tim = 10 # 次数

定义起始高度100,并赋值给hei,定义落地次数为10,赋值给变量tim,注意:#后边的为注释内容,不需要的可以删掉

第三行:

for i in range(1, tim + 1):

创建一个从1到tim的循环,并且将值赋给变量i

第四行:

if i == 1:

tour.append(hei)

else:

tour.append(2 * hei)

hei /= 2

height.append(hei)

我们通过分析知道从第二次开始,落地时的距离应该是反弹高度乘以2(弹到最高点再落下),而第一次落地的距离是自身的高度,所以经过判断,如果次数是1的话,落地距离就是高度自身,而下次弹起的高度就是上次的一半,所以变量hei变成原来的一半,并且将变量hei存入列表height里边,而从第二次之后,落地时此次经过的路程是2 * hei

第五行:

print('总高度:tour = {0}'.format(sum(tour)))

print('第10次反弹高度:height = {0}'.format(height[-1]))

总高度需要是每次经过路程相加,所以是sum(tour),而format是python专用的变量赋值参数,第10次反弹高度就是列表height最后一个值,即height[-1]

进阶:

利用这个原理发现原来的数学题就是这么简单是不是很便捷呢结束语

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

———— e n d ————

觉得文章不错的,欢迎点在看和转发

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值