小球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,定义函数cal计算它在第n次落地时,共经过多少米以及第n次反弹多高。定义全局变量Sn和Hn分别存储小球经过的路程和第n次的高度。主函数输入n的值,并调用cal函数完成计算输出Sn和Hn的值。
时间: 2023-05-30 15:05:33 浏览: 162
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
def cal(n):
global Sn,Hn
if n==1:
Hn=100/2
Sn=100+Hn*2
else:
cal(n-1)
Hn=Hn/2
Sn=Sn+Hn*2
n=int(input("请输入落地次数:"))
cal(n)
print("第{}次落地时,共经过{}米,第{}次反弹{}米高".format(n,Sn,Hn))
阅读全文