用python并且分别用while和for循环实现:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高
时间: 2023-10-20 11:30:19 浏览: 68
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
使用 while 循环实现:
```python
height = 100 # 初始高度
distance = 0 # 经过的距离
count = 0 # 落地次数
while count < 10:
distance += height # 累加落下的距离
height /= 2 # 反弹高度减半
distance += height # 累加反弹的距离
count += 1
distance -= height # 最后一次反弹不需要算距离
print(f"第10次落地时,共经过{distance:.2f}米")
print(f"第10次反弹高度为{height:.2f}米")
```
使用 for 循环实现:
```python
height = 100 # 初始高度
distance = 0 # 经过的距离
for i in range(10):
distance += height # 累加落下的距离
height /= 2 # 反弹高度减半
distance += height # 累加反弹的距离
distance -= height # 最后一次反弹不需要算距离
print(f"第10次落地时,共经过{distance:.2f}米")
print(f"第10次反弹高度为{height:.2f}米")
```
两种实现方式效果相同,输出结果为:
```
第10次落地时,共经过299.61米
第10次反弹高度为0.09766米
```
阅读全文