【问题标题】:Calculating Pi Using Taylor Series使用泰勒级数计算 Pi
【发布时间】:2015-05-15 09:11:56
【问题描述】:

我正在尝试使用泰勒级数计算 Pi 的值。下面是我拥有的代码,但是当我运行程序时,我得到一个 1 和 0 的列表。

这是我的代码:

from math import *
import numpy as np

n= 100
x= 1
series = []

for i in range(0,n):
    value = (x**(2*i+1)*(-1)**i)/(2*i+1)
    series.append(value)

print series    

【问题讨论】:

  • 请注意,当使用范围索引 for 循环时,出于内存目的,通常使用 xrange 而不是 range 更好。这个链接更多地谈论它:stackoverflow.com/questions/135041/…。此外,对于rangexrange,默认的下标为0,因此您可以将range(0,n) 替换为range(n)(或更好的xrange(n))。

标签: python for-loop pi taylor-series


【解决方案1】:

错误消息告诉你所有你需要知道的。您正在尝试划分两个列表,即使您可能认为它看起来不像。 Python 中的[] 表示一个列表,即使它们可以用作实际数学中的括号。你所要做的就是改变

value = [x**(2*i+1)*(-1)**i]/[2*i+1]

value = (x**(2*i+1)*(-1)**i)/(2*i+1)

【讨论】:

  • 谢谢。我在发布后立即意识到这一点。
【解决方案2】:

我相信您遇到了same issue as this one,它试图将一个列表除以另一个列表。看看那里的建议,我想你会找到答案的。

【讨论】:

    猜你喜欢
    • 2017-09-27
    • 2017-10-10
    • 1970-01-01
    • 2017-03-20
    • 2020-03-01
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 2015-11-23
    相关资源
    最近更新 更多