一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第n次落地时,共经过多少米?
分析:
第一次落地定义:初始高度到地面的距离
第二次落地定义:第1次落地到第2次落地的距离
第n次落地定义:第n-1次落地到第n次落地距离
h=100 #小球初始高度
l=100 #小球第1次落地前走过的距离
n=2 #小球从第1次落地后开始走循环
sum1=100 #小球第一次落地前走过的总距离为100
k=5 #k为小球落地的次数
if k==1: #小球落地的次数为1
print(sum1) #小球第一次落地前走过的总距离为100
while n<=k: #小球从第1次落地后开始计算,即n从2开始,也就是小球从第一次落地后弹起开始走循环条件
h=h/2 #每次落地后弹起的高度(这里是从第一次落地后弹起开始计算)
l1=h*2 #每次落地前走过的距离(这里是从第一次落地后弹起开始计算)
sum1=sum1+l1 #将每次落地前走过的距离进行相加(这里是从从初始高度开始计算,也就是包括第1次落地前走过的距离)
n=n+1
#print("走过的总距离:%f"%sum1) 第一种打印方式
print("走过的总距离{sum1}".format(sum1=sum1)) #第二种打印方式