问题:一球从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))
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。