目前位置: 首页 » python算法300例 »正文

python算法例8:小球第10次反弹高度问题

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

分析

我的想法是把每次降落的高度和每次反弹的高度分别记录到列表中,最后来求和。

第一次下落的高度是100

后面每次下落的高度等于反弹的高度

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<pre>python3.9代码如下
tan=[]
luo=[]
height=100
for i in range(10):
    tan.append(height/2)
 
    luo.append(height)
   
    height/=2

print("弹起的高度依次为:",tan)
print("\n落下的高度依次为",luo)
total=sum(tan)+sum(luo)-tan[-1] #第10次弹起的高度不能计算进去
print("总高度为:%f"%total)
</pre>

最终输出的结果如下

小球弹起的高度

题目中要第10次的弹起高度,将tan[-1]print出来就是了啦。

推荐阅读