【Python 练习实例20】一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
1 2 3 4 5 6 7 8 9 |
height = 100 #dist为每次落地小球经过的距离,首次落地时经过height的距离 dist = 100 print('它在第 1 次落地时,共经过 %d 米' % dist) for i in range(2, 11): #dist为每次落地小球经过的距离,首次落地时经过height的距离,第二次之后每次落地经过的距离为height*2,即 height = height / 2 dist += height*2 print('它在第 %d 次落地时,共经过 %s 米; 第 %d 次反弹高度为 %s 米' % (i, dist, i-1, height)) |
输出:
1 2 3 4 5 6 7 8 9 10 |
它在第 1 次落地时,共经过 100 米 它在第 2 次落地时,共经过 200.0 米; 第 1 次反弹高度为 50.0 米 它在第 3 次落地时,共经过 250.0 米; 第 2 次反弹高度为 25.0 米 它在第 4 次落地时,共经过 275.0 米; 第 3 次反弹高度为 12.5 米 它在第 5 次落地时,共经过 287.5 米; 第 4 次反弹高度为 6.25 米 它在第 6 次落地时,共经过 293.75 米; 第 5 次反弹高度为 3.125 米 它在第 7 次落地时,共经过 296.875 米; 第 6 次反弹高度为 1.5625 米 它在第 8 次落地时,共经过 298.4375 米; 第 7 次反弹高度为 0.78125 米 它在第 9 次落地时,共经过 299.21875 米; 第 8 次反弹高度为 0.390625 米 它在第 10 次落地时,共经过 299.609375 米; 第 9 次反弹高度为 0.1953125 米 |