其实不用那么麻烦的控制判断,在heigth_sum应该是列表,不是元组,元组定义之后不能修改元素
在定义列表的时候就可以把初始高度放在里面,然后循环次数没问题你的写法和我的写法循环次数是一样的,都是count-1次
在循环中只需要不断获取每次落地后回弹的高度,循环中的落地回弹都是两次所以高度*2,循环结束就是所有的值了
最后用sum对列表元素求和就是结果
def traceball(height,count):
heigth_sum= [height]
for i in range(1,count):
height = height/2
heigth_sum.append(height*2)
result = sum(heigth_sum)
return result