变量在python中不改变for循环

时间:2013-12-27 19:21:09

标签: python variables for-loop

我正在尝试在python中计算正弦系列。

这是我正在使用的代码:

import math
x=int(raw_input('X = '))
i=1
r=0
s=1
t=1
for i in range(1,13,2):
   fact=1
   for j in range(1,i+1):
       fact = fact * j
       j=j+1
       t = (s)*(math.pow(x,i)/fact) 
   r = r + t
   s=s*(-1)
   i+=2
print('sin('+str(x)+') = '+str(r))

它将最后计算的t值存储在r中,而不是更新它(r)。 请告诉我为什么会这样发生。

1 个答案:

答案 0 :(得分:0)

也许你正在尝试做这样的事情(查看循环中的更正):

import math
x=float(raw_input('X = '))
#x = math.pi/2
xx = x
i=1
r=0
s=1
t=1
fact=1
for i in range(1,13,2):
   t = s*xx/fact
   r = r + t
   s = -s
   fact = fact * (i+1) * (i+2)
   xx *= x*x
print('sin(%f) ~ %f' % (x,r))
print('sin(%f) = %f' % (x,math.sin(x)))

刚试过:

  1. x = math.pi/3并获得0.866025
  2. x = math.pi/2并获得1.000000