我们应该借助Matplotlib绘制正弦波,但以度为单位。
首先,我们应该从0-360度每10度获得每个sin(x)。
我是一个初学者,非常感谢您的帮助。
def getsin():
for i in range(0,361,10):
y=math.sin(math.radians(i))
sinvalue.append(round(y,3)
sinvalue=[]
getsin()
x=np.linspace(0,360,37)
plot.plot(x,sinvalue)
plot.xlabel("x, degrees")
plot.ylabel("sin(x)")
plot.show()
答案 0 :(得分:2)
您的代码几乎可以(您错过了sinvalue.append(round(y,3)
行的右括号),但是可以完善它。
例如,通常认为从函数内部更新全局变量(我的意思是sinvalue
)是一种不好的做法……我不是说永远不应该这样做,而是应该避免这样做
更常见的模式是具有返回值的功能...
def getsin():
sines = []
for i in range(0,361,10):
y=math.sin(math.radians(i))
sines.append(round(y,3))
return sines
为什么我说这更好?比较
sinvalue=[]
getsin()
使用
sinvalue = getsin()
至少在我看来,第二个版本比 waaay 更好,因为它可以清楚地说明正在发生的事情,现在sinvalue
显然是犯了罪的结果...