其他分享
首页 > 其他分享> > 第36期-自由落体

第36期-自由落体

作者:互联网

1 问题描述

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
要求根据题意输出小球运动总距离以及第十次反弹高度

2 解题思路


计算单次往返运动距离为落地高度乘以3/2
第十次落地,所以只往返九次加上最后单次落地一次

3 解题方法

height = 100
i = 0
for _ in range(10):
    i += height * (3 / 2)
    height /= 2

print(f'第十次落地时,共经过{i - height}米')
print(f'第十次反弹{height}米高')
View Code

第1-2行: 定义高度变量height以及路程变量i,分别赋值100以及0
第3行: 使用for循环遍历十次运动
第4-5行: 初始高度乘以3/2为单次往返高度,将其值赋予总路程i上,并将下次高度替换为之前高度的一半
第7-8行: 打印第十次落地的总路程以及第十次反弹的高度

#注意

由于计算的时它在第10次落地时,共经过多少米,而十次循环后计算出来的总路程是十次往返的总路程,所以并不符合题意,需要用总路程减去反弹的高度才是最终10次落地时的总路程。

代码运行结果为:
image.png

 

标签:10,路程,落地,自由落体,高度,第十次,height,36
来源: https://www.cnblogs.com/lg03/p/15772199.html