第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次落地时的总路程。
代码运行结果为:
标签:10,路程,落地,自由落体,高度,第十次,height,36 来源: https://www.cnblogs.com/lg03/p/15772199.html