python如何表示 圆周率
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如何表示 圆周率相关的知识,希望对你有一定的参考价值。
python表示圆周率的方法:使用“import”语句导入math包。“math pi”函数可以获取到圆周率,那么就可以用“math pi”函数来表示圆周率示例
python表示圆周率的方法:
使用“import”语句导入math包。“math.pi”函数可以获取到圆周率,那么就可以用“math.pi”函数来表示圆周率
示例如下:
执行结果如下:
更多Python知识,请关注:Python自学网!!
参考技术A 圆周率的计算有两种方法,分别是数学公式法、工程上的蒙特卡罗法。1.公式法
代码:
运行效果:
注释:因为公式中k的上限是正无穷大,这里为了简便运算,取k=10000。
若增大k值,会发现pi的值更加精准,代价是程序运行时长更长。当我把N设为10000000后,电脑风扇开始呼呼呼了好久。
2.蒙特卡罗方法
核心思想:圆周率(Π)的值间接等于落入圆内的点的数量与正方形内总点数的比值。
为了便于计算,我们先计算1/4圆的pi值,再乘以4,得到整个圆的pi值。
1/4圆撒点模拟
代码如下:
注释:
①dots是1/4正方形内总共撒的随机点数量。
②hits用于记录落在1/4圆形内的点的数量。
③random()函数用于生成0~1之间的随机数,这里是一个单位圆,正好~如果不设置种子,会自动根据操作系统当前的时间(精确到毫秒)作为种子。因此,随机生成的1000*1000个点一定是各不相同的,不会发生点重叠的情况。
④pow(x**2+y**2,0.5)用于计算随机点(x,y)到圆心O(0,0)的欧式距离。即
⑤当距离≤1时,则说明该随机点位于1/4圆内,则将hits变量加1。
运行结果如下:
可以看出,pi的值并不够准确,这一问题可以通过增大dots数量解决。 参考技术B 因为pi是python,math函数库中的一个内建函数。
import math
print "math.modf(100.12) : ", math.modf(100.12)
print "math.modf(100.72) : ", math.modf(100.72)
print "math.modf(119L) : ", math.modf(119L)
print "math.modf(math.pi) : ", math.modf(math.pi)

扩展资料:
cmath是python中的标准库函数,用于做复杂的复数运算,
Python cmath 模块包含了一些用于复数运算的函数。
cmath 模块的函数跟 math 模块函数基本一致,区别是 cmath 模块运算的是复数,math模块运算的是数学运算。
polar 函数对一个输入的笛卡尔形势的复数进行计算,输出为一个二元组,第一个值为Z的模值, 第二个为幅度值。 rect() 函数对输入的模和幅度值进行计算输出笛卡尔表示。如果需要单独对一个复数进行幅度值的求解,可以调用 cmath.phrase(x) 函数,返回幅度值。
import random
m = n = 0
i = 0
while i < 1000000:
x = random.random()
y = random.random()
if x * x + y * y < 1:
m += 1
else:
n += 1
i += 1
print("PI 约等于:%.20f" % (4 * ((m / 1.0) / (m + n))))
使用随机数,根据圆周面积S=PI*r*r
当r=1时,面积就是PI值,在第一象限中的四分之一个半圆就是四分之一个PI值,按照这个思路,可以设计上面的代码,里面的i值(就是随机点数目)越大,得到的值越准确,看你电脑的运行速度了。 参考技术C python如何表示 圆周率?圆周率的计算有两种方法,分别是数学公式法、工程上的蒙特卡罗法。
1.公式法
代码:
运行效果:
注释:因为公式中k的上限是正无穷大,这里为了简便运算,取k=10000。
若增大k值,会发现pi的值更加精准,代价是程序运行时长更长。当我把N设为10000000后,电脑风扇开始呼呼呼了好久。
2.蒙特卡罗方法
核心思想:圆周率(Π)的值间接等于落入圆内的点的数量与正方形内总点数的比值。
为了便于计算,我们先计算1/4圆的pi值,再乘以4,得到整个圆的pi值。
1/4圆撒点模拟
代码如下:
注释:
①dots是1/4正方形内总共撒的随机点数量。
②hits用于记录落在1/4圆形内的点的数量。
③random()函数用于生成0~1之间的随机数,这里是一个单位圆,正好~如果不设置种子,会自动根据操作系统当前的时间(精确到毫秒)作为种子。因此,随机生成的1000*1000个点一定是各不相同的,不会发生点重叠的情况。
④pow(x**2+y**2,0.5)用于计算随机点(x,y)到圆心O(0,0)的欧式距离。即
⑤当距离≤1时,则说明该随机点位于1/4圆内,则将hits变量加1。
运行结果如下:
可以看出,pi的值并不够准确,这一问题可以通过增大dots数量解决。
以上是关于python如何表示 圆周率的主要内容,如果未能解决你的问题,请参考以下文章
Python圆周率 Pi (π) 的计算(蒙特卡罗法+公式法)