1、 (操作题) 球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
tour = []
height = []
hei = 100.0 #起始高度
tim = 10 #次数
for i in range(1,tim + 1):
#从第二次开始,落地时的距离应该是反弹高度*2(弹到最高点再落下)
if i == 1:
tour.append(hei)
else:
tour.append(2*hei)
hei /= 2
height.append(hei)
print('总高度: tour = {0}'.format(sum(tour)))
print('第10次反弹高度:height = {0}'.format(height[-1]))
运行结果:
总高度: tour = 299.609375
第10次反弹高度:height = 0.09765625
2、(操作题) 请自定义函数,实现输入3个数abc,按从小到大排序,并输出结果。
def myfun(a,b,c):
a2 = [a,b,c]
for i in range(len(a2)-1):
for j in range(len(a2)-1-i):
if a2[j] > a2[j+1]:
a2[j],a2[j+1] = a2[j+1],a2[j]
return a2
myfun(33,12,6) #比较数字的时候改变括号里的这三个数,即可实现不同数字的比较了
运行结果:
[6, 12, 33]
这题的代码建议在Jupyter Notebook上运行。
运行截图: