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

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

题目分析
第一次下落的距离是100米,反跳回原高度的一半则为50米,然后在下落50米,再反跳25米,再下落25米,再反跳12.5米,再下落12.5米…… 除了第一次下落是一个100米 接下来的距离都是高度的2倍,根据题目先建个距离的列表 高度先赋值等于100 此篇代码利用for循环进行求解

代码实现

第一次下落和其他下落不一样只有一次,所以要分开写
if i == 1:
far.append(high)


其他下落代码则可以写成
else:
far.append(high * 2)
high = high / 2


代码全篇
far = []
high = 100
for i in range(1, 11):
if i == 1:
far.append(high)
else:
far.append(high * 2)
high = high / 2

print(f’经过的总距离:far = {sum(far)}’)
print(f’第十次反弹多高:high = {high}’)
如何用python实现题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?_第1张图片

祝大家Python学习顺利!

你可能感兴趣的:(一球从100米高度自由落下,求它,python,算法)