近似Pi(Langtangen,练习3.18。)

时间:2017-10-09 21:41:19

标签: python

我正在学习python,我遇到了代码问题。当我输入范围的值时,它运行正常,但是当我尝试输入变量时,我返回了一个错误。

Instructions I was given:
  

的价值   π   等于半径为1/2的圆的圆周。假设我们通过多边形来近似圆周   n + 1个   圆圈上的点。可以使用上一练习中的pathlength函数找到此多边形的长度。计算   n + 1个   点   (XI,YI)   根据公式

沿着半径为1/2的圆

错误:

  

文件“[用户代码]”,第16行,in   NameError:未定义名称“N”

这是我的代码:

import math

from math import cos
from math import sin
from math import pi
def pathlength (x,y):
    L = 0
    for i in range (1,len(x)):
        L += math.sqrt((x[i] - x[i-1])**2 + (y[i] - y[i-1])**2)
    return L

def circle_pts(N):
    x = [0.5 * cos(2*pi*i/N) for i in range (N+1)]
    y = [0.5 * sin(2*pi*i/N) for i in range (N+1)]
    return x,y

approx_pi = [2**k for k in range (0,N+1)]

for N in approx_pi:
    x,y = circle_pts(N)
    approx = pathlength (x,y)
    print ('For %4d points on the circle, pi approximates to %.8f giving and error \
and error of %.8f' % (N, approx, pi - approx))

0 个答案:

没有答案