python用泰勒级数计算圆周率_Python中利用进度条求圆周率

本文介绍了使用Python结合泰勒级数和进度条来计算圆周率的方法。首先讲解了蒙特卡罗法和欧拉恒等式的基本概念,然后提供了一个实现进度条的Python代码示例,最后展示了一个利用进度条和数学函数求解圆周率的完整程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从祖冲之到现在,圆周率的发展越来越丰富,求法也是越来越快其中:

1.求圆周率的方法:

(1)蒙特卡罗法

这是基于“随机数”的算法,通过计算落在单位圆内的点与正方形内的比值来求圆周率PI。

4e2bf337a8c04e016c07a0e0fd4e6139.png

如果一共投入N个点,其中有M个落入圆中,则要点均匀,假定圆周率的半径为R,则:

c76bc3188c8a27888a2f54b6b54a1d48.png

(2)欧拉恒等式公式为:

6fa2e0994dc48a2061583d39f5fb048e.png

基础的泰勒级数:

ee2f7f6fea9350f160f46c4263691ce3.png

(2)求python进度表

代码:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @Time : 18-5-21 下午3:44

# @Author : LK

# @File : 进度条.py

# @Software: PyCharm

import sys

import time

def process_bar(precent, width=50):

use_num = int(precent*width)

space_num = int(width-use_num)

precent = precent*100

# 第一个和最后一个一样梯形显示, 中间两个正确,但是在python2中报错

#

# print('[%s%s]%d%%'%(use_num*'#', space_num*' ',precent))

# print('[%s%s]%d%%'%(use_num*'#', space_num*' ',precent), end='\r')

print('[%s%s]%d%%'%(use_num*'#', space_num*' ',precent),file=sys.stdout,flush=True, end='\r')

# print('[%s%s]%d%%'%(use_num*'#', space_num*' ',precent),file=sys.stdout,flush=True)

if __name__ == '__main__':

for i in range(21):

precent = i/20

process_bar(precent)

time.sleep(0.2)

print('\n')

显示如下:

t

f96f7612c2a64bae72ffe37ca854a1e1.png

(3)利用进度条显示求圆周率

代码如下:

import math

import time

scale=10

print("执行开始")

t=time.process_time()

for i in range(scale+1):

a,b='**'*i,'..'*(scale-i)

c=(i/scale)*100

π=4*(4*math.atan(1/5)-math.atan(1/239))

print("%{:3}[{}->{}]".format(a,b,c))

time.sleep(0.1)

print(π)

print("{:.2f}s".format(t))

print("执行结束")

运行结果如下:

1341e767708dc09c1cdc5def63647334.png

现在,到此结束.................

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值