用python计算并输出π平方_用Python进行有进度条的π计算

本文介绍了如何使用Python的tqdm库来创建进度条,并结合随机数和数学公式计算π的值。通过改变DARTS的值,观察计算精度的变化,同时展示了一个带有刷新功能的文本进度条。
摘要由CSDN通过智能技术生成

1.tqdm是一个强大的终端进度条工具,我利用pip获取tqdm函数库。

2编写代码

2.1进行π的计算

from random import random

from math import sqrt

from time import clock

DARTS=10000

hits=0.0

clock()

for i in range(1,DARTS+1):

x,y=random(),random()

dist=sqrt(x**2+y**2)

if dist <=1.0:

hits=hits+1

pi=4*(hits/DARTS)

print("pi的值{}.".format(pi))

print("运行时间:{:.5f}s".format(clock()))for i in tqdm(range(10)):

然后改变DARTS的赋值,发现π的位数越来越多

2.2文本进度条

选择带刷新的文本进度条,利用tqdm库实现

代码:

import time

from tqdm import tqdm

scale=50

print("执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个用 Monte Carlo 方法计算 π 值并带有进度条Python 程序: ```python import random import time def estimate_pi(n): num_points_inside_circle = 0 for i in range(n): x = random.uniform(-1, 1) y = random.uniform(-1, 1) if x**2 + y**2 <= 1: num_points_inside_circle += 1 pi_estimate = 4 * num_points_inside_circle / n return pi_estimate def progress_bar(progress): bar_length = 20 filled_length = int(round(bar_length * progress)) bar = '=' * filled_length + '-' * (bar_length - filled_length) print(f'\r[{bar}] {progress*100:.1f}%', end='') n = 1000000 start_time = time.time() for i in range(n): pi_estimate = estimate_pi(i+1) progress = (i+1) / n progress_bar(progress) end_time = time.time() print(f'\n\nFinal estimate of π: {pi_estimate:.5f}') print(f'Time taken: {end_time - start_time:.2f} seconds') ``` 该程序使用了 `random.uniform()` 函数生成随机坐标来模拟在 [-1, 1] x [-1, 1] 正方形内随机投掷点的过程。如果点落在单位圆内,则计数器加一。最后,π 值的估计值为 4 * 圆内点数 / 总点数。 在计算过程中,我们使用 `progress_bar()` 函数来输出进度条。该函数接受一个参数 `progress`,表示当前完成的任务比例。它会根据 `progress` 的值,在一行中输出一个进度条,显示当前任务完成的百分比。 在主程序中,我们循环调用 `estimate_pi()` 函数来逐步计算 π 值的估计值,并输出进度条。最后输出最终的 π 值估计值和程序运行时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值