Python 绘制正弦波(度)

Python 绘制正弦波(度),python,trigonometry,degrees,Python,Trigonometry,Degrees,我们应该在Matplotlib的帮助下绘制正弦波,但以度为单位 首先,我们应该得到0-360度的每一个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

我们应该在Matplotlib的帮助下绘制正弦波,但以度为单位

首先,我们应该得到0-360度的每一个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()
您的代码几乎没有问题(您在第
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
显然是得到sines的结果…

在你的代码示例中,你不需要定义函数。只需删除该行并在前面声明
sinvalue
。剩下的对我来说似乎很好,好的解决这个问题,谢谢!你能解释一下为什么它不能定义函数吗?因为SvimeUE的输出应该是相同的或没有函数的。为什么你编辑了一半的问题?你在一个单词中间把它切掉了,删除了所有的代码。
sinvalue = getsin()