E d u c o d e r Educoder Educoder作业】绘制炸弹轨迹 III——绘制一条轨迹

T 1 T1 T1 创建列表

这里我们引入了列表,而我们创建列表的方式也比较多样。比如直接手写、比如借助 l i s t ( r a n g e ( ) ) list(range()) list(range())两个函数来构建列表。注意 r a n g e range range函数是左闭右开即可。

########## Begin ##########
L1 = list(range(2, 101, 2))
L2 = list(range(50, 101))
L3 = list(range(0, 100))
########## End ##########
print(L1)
print(L2)
print(L3)

T 2 T2 T2 列表操作

通过这个题我们引入了大量的 l i s t list list操作,可以说,列表是我们接触的第一个数据结构。在这里插入图片描述在这里插入图片描述
在这里插入图片描述

当然,这个题肯定用不上这么多的操作,只需要简单的 s u m sum sum s o r t sort sort就可以完成了。

########## Begin ##########
L = list(range(1, 101))
print(sum(L))

L = [101, 25, 38, 29, 108, 121]
L.sort()
print(L[-1] + L[-2])
########## End ##########

T 3 T3 T3 for循环

我们引入了 f o r for for循环! f o r for for循环的使用更加多种多样了,比如可以直接传进去一个列表,这样循环变量可以从左到右遍历这个列表等等。一般的普通操作也是很容易完成的。

########## Begin ##########
s = 0
for i in range(1, 11) :
    s += i ** -2
########## End ##########
print('%.6f' % s)

T 4 T4 T4 绘制一条轨迹

由于我们要绘制炸弹轨迹,需要用到列表。即 p l t . p l o t ( x t , y t , ′ r − ′ ) plt.plot(xt, yt, 'r-') plt.plot(xt,yt,r)里面 x t xt xt y t yt yt都是列表,这样的话就可以绘制曲线了。

import matplotlib.pyplot as plt
h, v0, g = 3000, 200, 9.8
t, n=0, 30
tmax=(2*h/g)**0.5
delta = tmax/(n-1)    
xt,yt=[ ],[ ]
########## Begin ##########
while t <= tmax :
    xt.append(v0 * t)
    yt.append(h - 0.5 * g * t ** 2)
    t += delta
########## End ##########
plt.plot(xt,yt,'r-')
plt.grid('on')    
plt.axis([0, 5000, 0, h])
plt.show()

plt.savefig( 'src/step3/student/pic.png' )
plt.close()

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐