E d u c o d e r Educoder Educoder作业】绘制炸弹轨迹 I——绘制一个坐标点

T 1   H e l l o   W o r l d T1\ Hello\ World T1 Hello World

print('Hello World!')

T 2 T2 T2 计算 3.5 s 3.5s 3.5s时炸弹的坐标

基本四则运算

h, v0, g = 3000, 200, 9.8
t = 3.5
xt = v0 * t
yt = h - 0.5 * g * t ** 2

print(xt), print(yt)

T 3 T3 T3 重新计算 3.5 s 3.5s 3.5s时炸弹的坐标

同上,注意使用变量来替换反复出现的数值,方便我们书写,同时避免出错

T 4 T4 T4 计算某个时刻炸弹坐标

了解了输入函数 i n p u t ( ) input() input()
e v a l ( ) eval() eval()函数,只能将单个运算表达式从字符串转换过来,没有办法实现复杂代码逻辑的转换

h, v0, g = 3000, 200, 9.8    #设置参数值

t = eval(input())

xt=v0*t            #计算横坐标
yt=h-1/2*g*t**2    #计算纵坐标
print(t,'秒时坐标为:', xt, yt) #打印结果

T 5 T5 T5 绘制结果

画图题
p l t . p l o t ( x ,   y ,   , ′ r o ′ ) plt.plot(x,\ y,\ ,'ro') plt.plot(x, y, ,ro) 表示在 ( x , y ) (x, y) (x,y)出创造一个红色的圆点。具体逻辑如图
在这里插入图片描述
p l t . g r i d ( ) plt.grid() plt.grid()表示画的线长什么样子,它实际上的样子是 g r i d ( l i n e s t y l e = ′ ′ , c o l o r = ′ ′ ) grid(linestyle = '' , color='') grid(linestyle=,color=),但是如果中间直接给一个 t r u e true true值,比如 ′ o n ′ 'on' on,就会变成默认的黑色实线。

p l t . a x i s ( ) plt.axis() plt.axis()有一些神奇用法,除了本题中的限定 x x x轴和 y y y轴的范围以外,还有 p l t . a x i s ( ′ e q u a l ′ ) plt.axis('equal') plt.axis(equal)。这个就保证 x x x y y y的刻度一样

import matplotlib.pyplot as plt

########## Begin ##########

h, v0, g = 3000, 200, 9.8    #设置参数值
t=eval(input())        #读取时刻t
xt=v0*t                #计算横坐标
yt=h-1/2*g*t**2        #计算纵坐标

plt.plot(xt, yt, 'ro')

plt.grid('1')

plt.axis([0, 5000, 0, 3000])

########## End ##########
plt.savefig( 'src/step5/student/pic.png' )
plt.close()
Logo

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

更多推荐