我是编码新手,我的任务要求我通过使用半径为1的圆盘(圆(的面积的定积分来近似π。我已经通过Python创建了以下代码。这给了我正确的答案,但圆周率被截断为六位数。有没有一种方法可以将它扩展到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)
我想,您使用的是Python 2.7版本吗?打印值时尝试格式化浮动:
print('%.7f' % tpi)
这应该将您的值打印为浮点值,四舍五入到小数点后7位。要了解更多信息,请查看字符串格式化操作
您在控制台中看到的内容并不总是与变量的值匹配。控制台可能会剪切一些数字(记录器通常这样做是为了节省屏幕上的空间(,或者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 . !