Python教程

python圆周率计算

本文主要是介绍python圆周率计算,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

项目场景:

提示:这里简述项目相关背景:
实验课作业


问题描述:

提示:这里描述项目中遇到的问题:
在这里插入图片描述


原因分析:

主要的思想是蒙特卡罗方法。思想:随机向在一个单位正方形和1/4的圆中,抛洒大量的随机种子,然后根据每个点到圆心的距离从而判断该点位于圆内还是位于圆外,然后根据落在圆内的点的数量除以总的随机种子就等于pi/4。随机点数量越大,越充分覆盖整个圆形区域,则得到的pi的数据越精准。这主要是利用离散点值表示图形的面积,通过面积比例来求解pi的值。


解决方案:

代码:

import random
import math
random.seed(123)
num = eval(input())
count = 0
for i in range(1, num+1):
    x, y = random.random(), random.random()
    res = math.sqrt(x**2 + y**2)
    if res <= 1:
        count = count + 1
pi = 4*(count/num)
print("{:.6f}".format(pi))

注:
random.seed()函数:用于指定随着数生产所用算法开始的整数值。如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同,而且设置的seed()值仅一次有效。

这篇关于python圆周率计算的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!