0

这是使用泰勒级数找到-1和+1之间角度的正弦值,但我想做的是获取每个度数的值,打印它,转到下一个度数,然后打印, ETC...

def Fac(n):
    r=1
    for c in range(n,1,-1):
        r*=c #r=r*c
    return r

def Pow(x,n):
    r=1
    for c in range(0,n):
        r*=x
    return r

def Sign(i): #i will be the number of the term we are on for Taylor
    r=1
    for c in range(0,i):
        r*=-1
    return r

def Rad(a):
    return a*3.141592654/180

def SinTerm(x,n,i):
    y=Sign(i)*Pow(x,n)/Fac(n)
    return y


def main():
    for c in range(0,361):
        a=c
    i=3
    n=1
    sum=0
    for c in range(0,i):
        sum+=SinTerm(Rad(a),n,c)
        n+=2
    print "Taylor COSINE sum = ", sum

while True:
    main()

我认为制作 range(0,361) 会分别显示所有值,但它会将 0-360 度的所有值相加。我将如何做到这一点,以便单独显示每个学位的 sin 值?我更喜欢能引导我走向正确方向的答案,而不是直接给出答案。

4

1 回答 1

5

您的问题是 for 循环中的缩进。仅a=c包含该行。你想缩进整个东西(而且,它看起来像循环a而不是c在外循环中):

for a in range(0,361):
    i=3
    n=1
    sum=0
    for c in range(0,i):
        sum+=SinTerm(Rad(a),n,c)
        n+=2
    print "Taylor COSINE sum = ", sum
于 2012-09-14T21:28:32.183 回答