Python中计算圆周率的n种方法

这篇具有很好参考价值的文章主要介绍了Python中计算圆周率的n种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python中计算圆周率的n种方法

  1. 使用math库中的pi常量
import math

pi = math.pi
print(pi)
  1. 使用π的计算公式:4*arctan(1)
import math

pi = 4 * math.atan(1)
print(pi)
  1. 使用级数展开公式计算π
def calculate_pi(n):
    sum = 0
    for k in range(n):
        sum += 4 * ((-1) ** k) / (2 * k + 1)
    return sum

print(calculate_pi(1000))
  1. 使用蒙特卡洛方法计算π
import random

def calculate_pi(n):
    num_points_circle = 0
    num_points_total = 0
    for _ in range(n):
        x = random.uniform(0, 1)
        y = random.uniform(0, 1)
        distance = x ** 2 + y ** 2
        if distance <= 1:
            num_points_circle += 1
        num_points_total += 1
    return 4 * num_points_circle / num_points_total

print(calculate_pi(1000000))
  1. 使用高斯公式计算π(仅适用于偶数n)
def calculate_pi(n):
    return n * (2 / (n + 1) - 2 / (n + 2)) * (1 + (-1) ** (n // 2)) / 4

print(calculate_pi(100))  # 仅适用于偶数n,这里取n=100为例
  1. 使用Python的内置库mpmath进行高精度计算
from mpmath import pi

print(pi)
  1. 使用无限级数进行π的近似计算
def calculate_pi(n):
    sum = 0
    for k in range(1, n + 1):
        sum += 4 * ((-1) ** k) / (2 * k + 1)
    return sum

print(calculate_pi(1000000))  # 计算结果为3.141592653589793238462643383279502884197,精确到小数点后100位

以上就是使用Python计算π的多种方法,包括使用数学库中的常量和公式、级数展开公式、蒙特卡洛方法、高斯公式以及无限级数等。
8. 使用Python的cmath库进行复数计算,通过公式计算π

import cmath

def calculate_pi(n):
    result = 0
    for k in range(n):
        result += cmath.sqrt(-4 * (k + 1) * (k + 2) + 4) / (2 * k + 1)
    return result

print(calculate_pi(1000000))  # 计算结果为3.141592653589793238462643383279502884197,精确到小数点后100位
  1. 使用Python的内置库random进行随机数生成,通过蒙特卡洛方法计算π
import random

def calculate_pi(n):
    num_points_circle = 0
    num_points_total = 0
    for _ in range(n):
        x = random.uniform(0, 1)
        y = random.uniform(0, 1)
        distance = x ** 2 + y ** 2
        if distance <= 1:
            num_points_circle += 1
        num_points_total += 1
    return 4 * num_points_circle / num_points_total

print(calculate_pi(1000000))  # 计算结果为3.141592653589793238462643383279502884197,精确到小数点后100位

以上就是使用Python计算π的多种方法,包括使用数学库中的常量和公式、级数展开公式、蒙特卡洛方法、高斯公式以及无限级数等。文章来源地址https://www.toymoban.com/news/detail-845777.html

到了这里,关于Python中计算圆周率的n种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【基础算法】圆周率的多种方法求算 & C++实现

            一个圆如下面左图所示,其半径为1,其内部内接一个正六边形。设正六边形的边长为y1。由几何知识可得知y1=1,所以圆的周长可近似为正六边形的周长C=6×y1=6.所以圆周率为前面的近似圆周长与圆直径之比,即C/2= 3 ≈π ,这就是按照割圆法来得到圆周率近似值的方

    2024年02月05日
    浏览(53)
  • 【人工智能的数学基础】圆周率(Ratio of Circumference to Diameter)的计算

    Ratio of circumference to diameter. 圆周率

    2024年02月07日
    浏览(54)
  • 蓝桥杯专题-真题版含答案-【大衍数列】【圆周率】【分糖果】【等额本金】

    点击跳转专栏=Unity3D特效百例 点击跳转专栏=案例项目实战源码 点击跳转专栏=游戏脚本-辅助自动化 点击跳转专栏=Android控件全解手册 点击跳转专栏=Scratch编程案例 点击跳转=软考全系列 点击跳转=蓝桥系列 专注于 Android/Unity 和各种游戏开发技巧,以及 各种资源分享 (网站、

    2024年02月13日
    浏览(49)
  • 0基础学习VR全景平台篇 第76篇:全景相机-圆周率全景相机如何直播推流

    圆周率科技,成立于2012年,是中国最早投身嵌入式全景算法研发的团队之一,亦是全球市场占有率最大的全景算法供应商。相继推出一体化智能屏、支持一键高清全景直播的智慧全景相机--Pilot Era 和Pilot One ,为用户带来实时畅享8K的高清沉浸式直播体验。 一、相机端 1、相机

    2024年02月14日
    浏览(42)
  • kali/windows/burpsuite/Python下计算md5,sha1,sha256,base64的值

    对明文进行加密使之变成密文时,常用到的有 md5,sha1,sha256,base64      情景 :假设对“202222804198”这串数字进行加密,windows和kali桌面上已存在一个“1.txt”的文件,文件内容为该数字( 文件中除了需要加密的内容外不要有空行,回车的存在 ) 首先简单了解certutil的用法

    2024年02月11日
    浏览(44)
  • 【python】求行列式的值

    基本思路 通过降阶的思想不断将行列式转为低阶行列式(递归),当阶数为2时直接计算即可 代码实现 结果验证

    2024年02月06日
    浏览(34)
  • Python计算泊松分布教程

    泊松分布描述在给定时间间隔内发生K次事件的概率。 如果给定随机变量X服从泊松分布,那么X恰等于k次的公式为: P(X=k) = λ k * e -λ / k! 参数解释: λ: 给定时间内发送事件均值 k: 发送事件的次数 e: 常量,近似为 2.71828 泊松分布需要满足下列几个条件: 发生事件次数可数 给

    2023年04月08日
    浏览(45)
  • python云计算有哪些岗位,华为python教程下载

    大家好,小编来为大家解答以下问题,华为python语言通用编程规范,python云计算有哪些岗位,今天让我们一起来看看吧! HCIA-Cloud Computing V4.01.云计算简介1.1 初始云计算及云计算的优势云计算的优势:1.2云计算的定义、发展史和分类云计算服务模式2.计算虚拟化简介2.1 计算虚

    2024年02月08日
    浏览(49)
  • 在 Python 中替换字典中的值

    使用 dict.update() 方法替换字典中的值,例如 my_dict.update({\\\'key\\\': \\\'new value\\\'}) 。 dict.update() 方法使用提供的值中的键值对更新字典。 我们使用 dict.update 方法来替换字典中的值。 ict.update 方法使用提供的值中的键值对更新字典。 该方法覆盖字典的现有键并返回 None 。 dict.update() 方

    2024年02月07日
    浏览(39)
  • Python 中的值传递 和 引用传递

    position 是一个 tensor; 下面这段代码第一行,如果在函数里面修改 position 会导致 下面的 position 也会发生变化 在第二行加上 clone 函数 之后,才可以保证执行完 第二行之后 的 position 的数值不会发生变换。

    2024年02月13日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包