Python练习实例020

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

#! /usr/bin/env python3
# -*- coding:utf-8 -*-

# Author   : Ma Yi
# Blog     : http://www.cnblogs.com/mayi0312/
# Date     : 2020-06-19
# Name     : demo020
# Software : PyCharm
# Note     : 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经
# 过多少米?第10次反弹多高?


# 入口函数
if __name__ == '__main__':
    # 小球距地面的高度,初始时为100
    height = 100
    # 小球经过的距离,首次落地时经过的距离为100
    dist = 100
    print("小球第%d次落地时,共经过%d米" % (1, dist))
    for i in range(2, 11):
        # 每次落地后反跳回原高度的一半
        height /= 2
        # 每次落地经过的距离为height*2
        dist += height * 2
        print("小球第%d次落地时,共经过%.2f米;第%d次反弹高度为%.2f" % (i, dist, i - 1, height))

运行结果:

小球第1次落地时,共经过100米
小球第2次落地时,共经过200.00米;第1次反弹高度为50.00
小球第3次落地时,共经过250.00米;第2次反弹高度为25.00
小球第4次落地时,共经过275.00米;第3次反弹高度为12.50
小球第5次落地时,共经过287.50米;第4次反弹高度为6.25
小球第6次落地时,共经过293.75米;第5次反弹高度为3.12
小球第7次落地时,共经过296.88米;第6次反弹高度为1.56
小球第8次落地时,共经过298.44米;第7次反弹高度为0.78
小球第9次落地时,共经过299.22米;第8次反弹高度为0.39
小球第10次落地时,共经过299.61米;第9次反弹高度为0.20
原文地址:https://www.cnblogs.com/mayi0312/p/13161293.html