我是编程新手,我的作业要求我使用半径为1的圆盘(圆)的面积的定积分来近似π。我通过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)发布于 2018-12-11 03:13:12
您在控制台中看到的内容并不总是与变量的值匹配。控制台可能会截取一些数字(记录器通常这样做是为了节省屏幕上的空间),或者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 . !发布于 2018-12-11 03:30:05
我想,您使用的是Python版本2.7?在打印值时,尝试设置浮点数的格式:
print('%.7f' % tpi)这应该会将您的值打印为四舍五入到小数点后7位的浮点数。要了解更多信息,请查看String Formatting Operations
https://stackoverflow.com/questions/53712063
复制相似问题