首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用圆的定积分计算圆周率

用圆的定积分计算圆周率
EN

Stack Overflow用户
提问于 2018-12-11 03:06:09
回答 2查看 53关注 0票数 1

我是编程新手,我的作业要求我使用半径为1的圆盘(圆)的面积的定积分来近似π。我通过Python创建了以下代码。这给了我正确的答案,但是pi被截断为六位数。有没有办法把它扩展到7位数,每个赋值参数?非常感谢!

代码: GlowScript 2.7 VPython

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

发布于 2018-12-11 03:13:12

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

代码语言:javascript
复制
# 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 . !
票数 0
EN

Stack Overflow用户

发布于 2018-12-11 03:30:05

我想,您使用的是Python版本2.7?在打印值时,尝试设置浮点数的格式:

代码语言:javascript
复制
print('%.7f' % tpi)

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53712063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档