实例020:高空抛物

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

代码复现:

sum_high = 0
high = 100
for i in range(10):
sum_high += high
print("第", i + 1, "次落地时经过的高度", sum_high)
high /= 2
print("第", i + 1, "次反弹的高度", high)

# 写法二:
# high = 200.
# total = 100
# for i in range(10):
# high /= 2
# total += high
# print('第', i + 1, '次反弹的高度:', high / 2)
# print('总长:', total)

运行结果:

 1 次落地时经过的高度 100
1 次反弹的高度 50.0
2 次落地时经过的高度 150.0
2 次反弹的高度 25.0
3 次落地时经过的高度 175.0
3 次反弹的高度 12.5
4 次落地时经过的高度 187.5
4 次反弹的高度 6.25
5 次落地时经过的高度 193.75
5 次反弹的高度 3.125
6 次落地时经过的高度 196.875
6 次反弹的高度 1.5625
7 次落地时经过的高度 198.4375
7 次反弹的高度 0.78125
8 次落地时经过的高度 199.21875
8 次反弹的高度 0.390625
9 次落地时经过的高度 199.609375
9 次反弹的高度 0.1953125
10 次落地时经过的高度 199.8046875
10 次反弹的高度 0.09765625

Process finished with exit code 0