【发布时间】:2020-01-24 20:56:37
【问题描述】:
def approximate_pi():
EPSILON = 1.0e-7
term = 1
n = 0
sum_pi = 0
while term > EPSILON:
term = 4 * (((-1) ** (n)) / (2 * n + 1))
sum_pi += term
n += 1
print(float(round(sum_pi,10)))
这是我到目前为止的代码。我在这里做错了什么? 需要打印出3.1415924536
【问题讨论】:
-
欢迎堆栈溢出!请检查您的缩进,给出的代码不会以当前格式运行。另外,请描述问题或您当前的输出与预期有何不同
-
仔细查看作业中给出的公式。您的方法与公式不符。
-
一个问题是第一次测试
term > EPSILON是False n 是不均匀的,使term 为负数。您似乎也包括了最后一个术语,而要求不包括它。 -
欢迎来到 StackOverflow。见minimal, reproducible example。我们还希望您提供实际输出,通常是内部操作的跟踪。一两个简单的
print命令将显示您的几个问题。