python 一球从 100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第 n 次落地时,共经过多少米?第 n 次反弹多高?输入n,得出这两个值。输出保留三位小数
时间: 2023-10-20 17:29:41 浏览: 159
python 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?反弹多高?
5星 · 资源好评率100%
可以通过循环来模拟球的运动轨迹,计算总共经过的距离和第n次反弹的高度。
代码如下:
```python
n = int(input("请输入落地次数:"))
height = 100 # 初始高度
distance = 100 # 初始距离
for i in range(2, n+1):
height /= 2 # 每次反弹高度减半
distance += 2 * height # 每次落地,距离增加两倍的反弹高度
print("第{}次落地时,共经过{}米,第{}次反弹{}米高".format(n, round(distance, 3), n, round(height, 3)))
```
输入n=10,可以得到输出结果:
```
第10次落地时,共经过299.609米,第10次反弹0.098米高
```
需要注意的是,题目中要求保留三位小数,因此在输出时使用了 `round()` 函数对结果进行四舍五入。
阅读全文