python求高空坠球

img

img


想问一下图一的问题应该怎么写呢,图二哪里出了问题,需要怎么修改呢

其实不用那么麻烦的控制判断,在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