Python解决:一个球从100米下降,每次落地后反弹回原高度的一半,再落下,求它在第十次的时候,共经过多少米,第十次反弹多高。

题目:一个球从100米下降,每次落地后反弹回原高度的一半,再落下,求它在第十次的时候,共经过多少米,第十次反弹多高。
直接代码:(代码可直接复制运行)

height_initial = 100  # 初始高度
distance_total = 0  # 总路程
height_bounce: float = 0  # 反弹高度
height_i_bounce = 0  # 记录第i次的反弹高度
float(height_initial)
frequency = input("请输入反弹次数:")

for i in range(int(frequency)):
    height_i_bounce = 1 / 2 * height_initial  # 记录第i次的反弹高度
    distance_total += height_initial + height_i_bounce  # 第一次的总路程
    height_initial *= 1 / 2
    height_initial = height_i_bounce

print("第%d次的时候,共经过了%f米,反弹%f米" % (int(frequency), distance_total, height_i_bounce))

输出结果如下:

请输入反弹次数:55次的时候,共经过了290.625000米,反弹3.125000

你可能感兴趣的:(python)