通过使用圆的定积分计算pi

时间:2018-12-10 19:06:09

标签: python python-2.7

我是编码的新手,我的作业要求我使用半径为1的磁盘(圆)的面积的确定积分来近似pi。我已经通过Python创建了以下代码。这给了我正确答案,但是pi被截断为六位数。对于分配参数,我是否可以将其扩展为7位数字?非常感谢!

代码: GlowScript 2.7 VPython

x=-1
dx=0.00001
A=0
while x<1:
    A=A+sqrt(1-x**2)*dx
    x=x+dx
tpi=2*A
print(tpi)

2 个答案:

答案 0 :(得分:0)

在控制台中看到的内容并不总是与变量的值匹配。控制台可能会减少一些数字(记录器通常这样做是为了节省屏幕空间),或者python解释器可能会四舍五入。为了解决这个问题,您可以使用以下代码来扩展位数

# coding: utf-8
import math
x=-1
dx=0.00001
A=0
while x<1:
    A=A+math.sqrt(1-x**2)*dx
    x=x+dx
tpi=2*A

print("{0:.30g}".format(tpi)) #this will give you 30 digits including the digits before the . !

答案 1 :(得分:0)

我认为,您使用的是Python 2.7版?在打印值时,尝试格式化浮点数:

print('%.7f' % tpi)

这应该将您的值打印为四舍五入到小数点后7位的浮点数。要了解更多信息,请查看String Formatting Operations