首页 > 其他分享 >pi

pi

时间:2023-12-11 22:56:23浏览次数:20  
标签:scale format 圆周率 time print pi

用python计算圆周率PI
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
描述
用python计算圆周率PI‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬
1.要求能算到小数点后面越多越好(5分)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

2.并用进度条提示算的进度,,能给出多种进度条越好(5分)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬
3.要求给出算圆周率Pi具体公式或者算法说明``

下面给出具体的python代码

公式法计算圆周率

`import time

pi = 0
N = 100
scale = 100
dur = 0
print("执行开始".center(scale // 2, "-"))
start = time.perf_counter() # 返回当前的计算机系统时间
for i in range(scale + 1):
a = '*' * i # 表示成功进度
b = '.' * (scale - i) # 表示未完成的进度
c = (i / scale) * 100 # 表示完成进度的占比
dur = time.perf_counter() - start # 做差值,表示程序程序执行的时间
print("\r{:.4}%[{}->{}]{:.2f}s".format(c, a, b, dur), end="") # 这里不换行,前面的\r才可以把光标重新移动到开头位置,实现动态刷新
if i < 100:
pi += 1 / pow(16, i) * (4 / (8 * i + 1) - 2 / (8 * i + 4) - 1 / (8 * i + 5) - 1 / (8 * i + 6))
time.sleep(0.01) # 程序在此处睡眠0.1秒
print("\n" + "执行结束".center(scale // 2, "-"))
print("圆周率为:{}".format(pi))
print("程序执行的时间为:{}".format(dur))
print("所利用的公式是:pi += 1/pow(16, k) * (4 / (8 * k + 1) - 2 /(8 * k + 4) - 1/(8 * k + 5) - 1 /(8 * k + 6))")`

标签:scale,format,圆周率,time,print,pi
From: https://www.cnblogs.com/shangyishui/p/17895789.html

相关文章

  • 利用率夹紧(Utilization Clamping) 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/scheduler/sched-util-clamp.html利用率夹紧1.简介利用率夹紧,也称为utilclamp或uclamp,是一种调度器功能,允许用户空间帮助管理任务的性能需求。它是在v5.3版本中引入的。CGroup支持在v5.4中合并。Uclamp是一种提示机制,允许调度器了解......
  • openGauss学习笔记-152 openGauss 数据库运维-备份与恢复-物理备份与恢复之PITR恢复
    openGauss学习笔记-152openGauss数据库运维-备份与恢复-物理备份与恢复之PITR恢复152.1背景信息当数据库崩溃或希望回退到数据库之前的某一状态时,openGauss的即时恢复功能(Point-In-TimeRecovery,简称PITR)可以支持恢复到备份归档数据之后的任意时间点。说明:PITR仅支持恢......
  • 前端学习DAY1 HTML5基础(1)(b站pink老师)
    一、HTML简介1.网页 1.1什么是网页  网站是网页的集合,网页是网站中的一“页”(构成网站的基本元素)。 网页由图片、链接、文字、声音、视频等元素构成,通常是HTML格式的文件(.htm.或html后缀),通过浏览器来阅读。 1.2 什么是HTMLHTML(超文本标记语言),它是用来描述网页的......
  • Completions - "wait for completion" barrier APIs 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/scheduler/completion.htmlCompletions-"waitforcompletion"barrierAPIs介绍:如果您有一个或多个线程必须等待某些内核活动达到某个点或特定状态,完成(completions)可以为这个问题提供无竞争的解决方案。从语义上讲,它们有点像pthread......
  • _pickle.PicklingError: Can't pickle <class '__main__.aaa'>: attribute lookup aa
    注:其中aaa是我的类名。这个问题是我想保存一个自定义的类对象时,采用如下代码pickle模块保存时出现的报错信息。withopen(f'saved_agent_{seed}.pkl','wb')asfile:pickle.dump(agent,file)出错原因该错误通常出现在试图使用pickle模块保存自定义类对象,而这个类定义......
  • .net6 webapi Swagger显示控制器为版本及接口注释
    1.安装Nuget包:Swashbuckle.AspNetCore2.使用Swagger中间件builder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen(option=>{//要启用swagger版本控制要在api控制器或者方法上添加特性[ApiExplorerSettings(GroupName="版本号")] typ......
  • 如何实现SPI机制
     一.定义SPI(ServiceProviderInterface)是一种面向接口编程的技术,它可以让一个程序根据接口约定规范自动发现和加载对应的实现类。它是一种Java种的接口编程规范,它定义了接口和服务提供者之间的约定规范,使得在运行时动态加载实现该接口的类。SPI机制是通过在服务提供者接口......
  • Codeforces 198 B Jumping on Walls
    题面翻译题目描述瓦西亚在和忍者玩电脑游戏。在这个关卡,瓦西亚需要操控忍者走出一个很深的峡谷。峡谷由两面垂直于地面且互相平行的墙组成,它们的高度为\(n\)米。我们将这些墙分成许多\(1\)米长的区域,并从下到上用\(1\)到\(n\)的正整数对它们进行编号。有些地方是安全的,忍者可以......
  • Apipost版IDEA插件:Apipost-Helper
    Apipost-Helper是由Apipost推出的IDEA插件,写完接口可以进行快速调试,且支持搜索接口、根据method跳转接口,还支持生成标准的API文档,注意:这些操作都可以在代码编辑器内独立完成,非常好用!这里给大家介绍一下Apipost-Helper的安装和使用安装在IDEA编辑器插件中心输入Apipost搜索安装:Api......
  • yapi使用笔记
    yapi是一款在线接口文档工具。其实还蛮强大的,在线文档最大的好处就是解决了word接口文档等共享不便,更新不及时的问题。高级mock这个高级mock可以用不到。但是如果环境还没搭好,先要模拟报文的话,用高级mock就很好。入参、返回报文贴进去就行。点运行,如果没装cross-request,会提示需......