一个铁球从100米高处落下,每次接触地面后,反弹到原高度的一般,求第10次球落地时,球的路径是多少米,之后反弹的高度是多少?
a = [100] # 每个‘反弹落地’过程经过的路程,第1次只有落地(100米)
h = 100 # 每个‘反弹落地’过程,反弹的高度,第1次为100米
print('第1次从%s米高落地,走过%s米,之后又反弹至%s米。' % (h, a[0], h/2))
for i in range(2,1100): # 第1次已初始化,再循环9次
a.append(h) # 先计算路程,再高度减半,因为一个‘反弹落地’为2个高度
h = h / 2
print('第%s次从%s米高落地,共走过%s米,之后又反弹至%s米。' % (i, h, sum(a), h / 2))
当然上面也可以封装成一个函数