一个球从100米的高度自由落下,每次落地后弹回原高度的一半,在落下,求小球在第10次落地时共经过多少米
dh = 100
h = 0 # 算是一个中间量,不过Python不需要用中间量,见下面的代码
course = 100 # 经过的米数
for i in range(1,11):
h = dh/2
course += dh
dh = dh/2
print("小球共经过:{}米".format(course-2*dh))# 10个来回,但其实只有9次的距离,∴需要减去前一个来回的高度
示例代码如下有帮助望采纳~
height = 100 # 起始高度
total = 0 # 总距离
round = 0 # 落地次数
round += 1 # 第一次落地
total += height # 只有下落
height /= 2 # 落地后高度减半
while(round <= 10): # 第10次落地前
total += height*2 # 弹起来在落下
round += 1 # 落地次数累加
height /= 2 # 高度减半
print(total) # 输出
你题目的解答代码如下:
sum = 0 #总距离
hight = 100.0 #起始高度
sum = hight #第一次只有下落
for i in range(1,10): #计算剩下9次弹起来又下落
print(f"第{i}次落地:经过{sum}米, 高度{hight}")
hight /= 2 #高度减半
sum += hight * 2 #累加弹起来又下落的距离
print(f"10次落地共经过{sum}米");
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!