概述
不堪其扰的宝子们来这里参考,只需要一个赞+关注,求求各位了
【开端】:学校选课要求学习使用头歌平台,为了自己以后复习和知识分享,给大家做个分享
第1关:绘制一个坐标点
任务描述
某轰炸机在h=3km
的高空以200m/s
的速度水平匀速飞行,到达A点是投下一枚无动力炸弹,不考虑空气阻力,重力加速度g
的值取9.8
,我们可以通过如下公式得到炸弹在任意时候的位置。x1=v0t
y1=21gt2
本关任务:使用Python
的matplotlib
模块
1、绘制一个横轴0-5000
,竖轴0-3000
的坐标轴。
2、绘制出某一个时刻的运行炸弹在坐标轴的位置。
plt.ylim((0, 3000))
plt.xlim((0, 5000))
plt.grid('on')
######## begin ############
# 请使用plot函数,绘制一个坐标点
plt.plot(xt,yt,'ro')
######## end ##############
plt.savefig('./student result/%s秒后.png' % str(t))
plt.close()
第2关:绘制n个坐标点
某轰炸机在h=3km
的高空以200m/s
的速度水平匀速飞行,到达A点时投下一枚无动力炸弹,不考虑空气阻力,重力加速度g
的值取9.8
,我们可以通过如下公式得到炸弹在任意时候的位置。
x1=v0t
y1=21gt2
本关任务:使用Python
的matplotlib
模块,绘制n
个时间点炸弹在坐标轴的位置。
tmax = (2*h/g)**0.5
delta = tmax/(n-1) #delta为相邻两时刻之间的间隔
while t<=tmax: #t从0变到tmax,每次加delta
###### begin ##########
# 请在此填写表达式,计算时间为t时,x轴与y轴的位置,并命名为xt与yt
while t<=tmax: #t从0变到tmax,每次加delta
xt = v0*t
yt = h-1/2*g*t**2
plt.plot(xt,yt,'ro')
t = t+delta
######### end ############
plt.plot(xt,yt,'ro')
t = t+delta
第3关:绘制一条轨迹
某轰炸机在h=3km
的高空以200m/s
的速度水平匀速飞行,到达A点是投下一枚无动力炸弹,不考虑空气阻力,重力加速度g
的值取9.8
,我们可以通过如下公式得到炸弹在任意时候的位置。
x1=v0t
y1=21gt2
本关任务:使用Python
的matplotlib
模块,绘制炸弹飞行的轨迹。
t = delta*i
xt.append(v0*t)
yt.append(h-1/2*g*t**2)
#### begin ###########
# 请使用plot函数绘制一条线
plt.plot(xt,yt,'r-')
plt.grid('on')
plt.axis([0, 5000, 0, h])
#### end ##############
plt.grid('on')
plt.axis([0, 5000, 0, h])
第4关:更简单的绘制一条轨迹
某轰炸机在h=3km
的高空以200m/s
的速度水平匀速飞行,到达A点是投下一枚无动力炸弹,不考虑空气阻力,重力加速度g的值取9.8
,我们可以通过如下公式得到炸弹在任意时候的位置。
x1=v0t
y1=21gt2
本关任务:使用Python
的特性与numpy
库, 简化绘制炸弹飞行的轨迹的方法
h, v0, g, n = 3000, 200, 9.8, 30
tmax = (2*h/g)**0.5
########### begin ##############
# 请使用numpy的linspace函数,在[0, tmax]上平均取30个点
t = np.linspace(0, tmax, n)
########## end #################
xt = v0*t #计算n个点的横坐标
yt = h-1/2*g*t**2 #计算n个点的纵坐标
第5关:绘制多条轨迹
某轰炸机在高空匀速飞行,到达A点是投下一枚无动力炸弹,不考虑空气阻力,重力加速度g
的值取9.8
,我们可以通过如下公式得到炸弹在任意时候的位置。
x1=v0t
y1=21gt2
本关任务:使用Python
的特性与numpy
库, 绘制多条轨迹。
t = np.linspace(0, tmax, n)
xt = v0*t
yt = h-1/2*g*t**2
##### begin ############
# 函数bia返回xt,yt
return xt, yt
###### end #############
H, V0 = [3000, 2000], [200, 260]
for h in H:
for v0 in V0:
注:内容只做参考和分享,未经允许不可传播,侵权立删
最后
以上就是朴实马里奥为你收集整理的【头歌】重生之我在py入门实训中(1)的全部内容,希望文章能够帮你解决【头歌】重生之我在py入门实训中(1)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复