【Educoder作业】绘制炸弹轨迹 I——绘制一个坐标点
【EducoderEducoderEducoder作业】绘制炸弹轨迹 I——绘制一个坐标点T1 HelloWorldT1\ Hello WorldT1 HelloWorldprint('Hello World!')T2T2T2 计算第3.5s3.5s3.5s时炸弹的坐标基本四则运算h, v0, g = 3000, 200, 9.8t = 3.5xt = v0 * tyt = h
【 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()
更多推荐
所有评论(0)