题目:一小球从100米高度自由落体落下,每次落地后反跳回原来高度的一半再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
思路:初始为100米,落下反弹为原来的一半;每次反弹的路程为反弹高度的2倍,走过的路程为反弹+初始的100米
代码如下:
n = 100
count = 0
list = [ ] #定义空列表存储小球反弹高度
while count < 10:
if count == 0:
list.append(n)
n /= 2
count += 1
else:
list.append(2*n)
n /= 2
count += 1
print(list) #小球反弹高度
print(sum(list)) #小球总经过的路程
运行截图如下: