Python习题集:程序20
程序20题目一球从100 米高度自由落下每次落地后反跳回原高度的一半再落下求它在第10次落地时共经过多少米第10次反弹多高代码 def calculate_faller(height, n): 计算初始高度为height时落体第n次落地时的总行程、及第n次反弹后高度 height_n height #初始化第n次落地时的高度此时为第0次落地时落地前的高度经过1次for循环后height_n为第一次... sum_n 0 #经历的总长度 for i in range(n): sum_n height_n * 2 height_n height_n / 2 sum_n sum_n - height return sum_n, height_n if __name__ __main__: height 100 #设置初始高度 n 10 #设置落地次数 result calculate_faller(height, n) print(f第{n}次落地时共经历{result[0]}米第{n}次反弹{result[1]}米高。)成果第10次落地时共经历299.609375米第10次反弹0.09765625米高。后记1.算法注意for循环里要先计算反弹前的总行程再计算第n次反弹后高度。2.初始行程多算一遍初始高度for循环后要减去。3.返回的2个值实际上是2个值的元组按元组使用。