#题目 一球从100米高度自由落下,每次落地后反跳回原高度的一半;
#再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
class Ball():
"""docstring for ball"""
#初始化:第1次反弹的高度:50,第1次下落到地面时经过路程:100
def __init__(self, h_1 = 50,l_1 = 100):
self.h = h_1
self.l = l_1
#第n次下落后的高度和经过的路程
def result(self,time):
self.time = time
if self.time == 1:
return self.l,self.h
#每下落1次,高度变成原来的一半,而经过的路程为每一次的高度之和
for i in range(1,self.time):
self.l += self.h * 2
self.h = self.h * 0.5
return self.l,self.h
ball = Ball()
time = int(input('求第几次?'))
r = ball.result(time)
print('第{}次下落经过的路程为{}m,第{}次反弹的高度为{}m'.format(ball.time,r[0],ball.time,r[1]))
20球落体与反弹问题
最新推荐文章于 2021-02-24 18:46:39 发布