python实现 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
题目分析
第一次下落的距离是100米,反跳回原高度的一半则为50米,然后在下落50米,再反跳25米,再下落25米,再反跳12.5米,再下落12.5米…… 除了第一次下落是一个100米 接下来的距离都是高度的2倍,根据题目先建个距离的列表 高度先赋值等于100 此篇代码利用for循环进行求解
代码实现
第一次下落和其他下落不一样只有一次,所以要分开写
if i == 1:
far.append(high)
其他下落代码则可以写成
else:
far.append(high * 2)
high = high / 2
代码全篇
far = []
high = 100
for i in range(1, 11):
if i == 1:
far.append(high)
else:
far.append(high * 2)
high = high / 2
print(f’经过的总距离:far = {sum(far)}’)
print(f’第十次反弹多高:high = {high}’)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210121204626507.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NDczMzExMA==,size_16,color_FFFFFF,t_70#pic_center)
祝大家Python学习顺利!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)