python练习

python练习(七)

高空坠物
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

分析:可以建立两个变量,分别计算他的里程数和最终反弹的高度

h = int(input("请输入起始高度:"))  # 获取用户输入的起始高度
c = int(input("请输入次数:")) # 次数
tour = []
height = []

for i in range(1,c+1): #利用for in 对次数进行循环,次数的循环影响着总体的高度以及里程数
    if i == 1:
        tour.append(h)
    else:
        tour.append(2*h)
    h /=2 #此时的高度等与前一次的高度一般
    height.append(h)
s = sum(tour)
u = height[-1]

print("%d次经历的总路程为:%f"%(c,s))
print("第%d次的反弹高度为:%f"%(c,u))

结果:python练习_第1张图片

猴子吃桃
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

分析:猴子吃桃,正面思考不好考虑,我们可以通过反面来思考,最后第十天只剩下一个桃子,相当于每天早上吃一个桃子再加上昨天剩下的桃子。

代码:

m = 1
for i in range(9,0,-1):
    n = (m+1)*2
    m = n
print(n)

结果:
python练习_第2张图片

你可能感兴趣的:(python)