判断就行,需要注意的是 m = = 1 o r m = = 3 m == 1or\ m==3 m==1or m==3与 m = = 1 o r 3 m == 1 or 3 m==1or3是不一样的。牵着表示的是判断 m m m是 1 1 1还是 3 3 3,后者必定返回 T r u e True True。
m = eval(input())
########## Begin ##########
if m == 1 or m == 3 or m == 5 or m == 7 or m == 8 or m == 10 or m == 12 :
print('yes')
else :
print('no')
########## End ##########
T
2
T2
T2 在合理范围绘制一个坐标点
其本质还是一个特判。
import math
########## Begin ##########
import matplotlib.pyplot as plt #导入库
h, v0, g = 3000, 200, 9.8 #设置参数值
t = eval(input()) #读取时刻t
tmax = math.sqrt(2 * h / g)
if t < 0 or t > tmax :
print('输入错误')
else :
print('绘制坐标')
xt = v0*t #计算横坐标
yt = h-1/2*g*t**2 #计算纵坐标
plt.plot(xt,yt,'ro') #绘制点(xt,yt)
plt.grid('on') #显示网格线
plt.axis([0,5000,0,h]) #设置坐标轴范围
plt.show() #显示图形
########## End ##########
T
3
T3
T3 解决问题2的准备工作:while循环
这个题目是容易的,关键是明白他和 C + + C++ C++中的 w h i l e while while循环没有任何区别。都是先判断,再进循环,每次结束之后都判断。特别注意,别忘了每次更改循环变量。
########## Begin ##########
i = 1
ans = 0;
while i < 1000 :
ans += i
i += 2
print(ans)
########## End ##########
T
4
T4
T4 绘制n个坐标点
我们跟炸d过不去了…就是各种绘制炸d,这个题就是绘制 n n n个坐标,用 w h i l e while while循环实现即可。
import math
########## Begin ##########
import matplotlib.pyplot as plt #导入库
h, v0, g = 3000, 200, 9.8 #设置参数值
t = 0
n = 30
tmax = (2 * h / g) ** 0.5
dlt = tmax / (n - 1)
while t <= tmax :
xt = v0*t #计算横坐标
yt = h-1/2*g*t**2 #计算纵坐标
plt.plot(xt,yt,'ro') #绘制点(xt,yt)
t += dlt
plt.grid('on') #显示网格线
plt.axis([0,5000,0,h]) #设置坐标轴范围
plt.show() #显示图形
########## End ##########
plt.savefig( 'src/step4/student/pic.png' )
plt.close()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)