我是编码的新手,我的作业要求我使用半径为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)
答案 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