繁体   English   中英

如何在python中编写while循环

[英]How to write a while loop in python

我真的很难开始这项任务,作为新手,我真的很感激一些帮助!

我们需要编写一个名为 PiApproximator 的程序,它通过对一系列中有限数量的项求和来近似数学常数 π。

我们使用的系列是 pi=4-4/3+4/5-4/7 等等。

既然你说你只是想开始解决这个问题,我将分解问题的组成部分

  1. while 函数语句; 只要添加的项大于 1e-6,循环就需要继续,因此对于为该循环添加的任何变量,您都需要一个变量。
  2. 你需要一个循环次数的计数器; 既用于输出,也用于控制是否从总数中添加或减去该术语(提示:% 在这里很有用)
  3. 您将需要一种方法来更改系列中的下一个数字; 这样做的一个好方法是将它链接到循环计数器,即series_num = 4/(3 + 2 * loop)

我试图提供尽可能多的信息,但没有直接给你答案,但如果你需要更多帮助,请告诉我

你的代码有正确的想法。 一种解决方案是使不同的部分更简单

# pi ~ + 4/1 - 4/3 + 4/5 - 4/7 ...
pi, x, d = 0, 1, 1
while 4 / d > 1e-6:
    pi += 4 / d * x
    d  += 2
    x  *= -1
print(f'Approximation of pi is {pi} [in {(d+1) // 2} iterations]')

输出

Approximation of pi is 3.141592153589724 [in 2000001 iterations]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM