基于Python计算圆周率pi代码实例

一 计算公式:

二 实现代码

(1)

import math
from tqdm import tqdm
import time
total,s,n,t=0.0,1,1.0,1.0
while(math.fabs(t)>=1e-6):
  total+=t
  n+=2
  s=-s
  t=s/n
k=total*4
print("π值是{:.10f} 运行时间为{:.4f}秒".format(k,time.clock()))
for i in tqdm(range(101)):
  print("\r{:3}%".format(i),end="")
  time.sleep(0.1)

(2)

import time
import math

class Index(object):
  def __init__(self, number=50, decimal=2):
    self.decimal = decimal
    self.number = number
    self.a = 100/number 

  def __call__(self, now, total):
    percentage = self.percentage_number(now, total)
    well_num = int(percentage / self.a)
    progress_bar_num = self.progress_bar(well_num)
    result = "\r%s %s" % (progress_bar_num, percentage)
    return result

  def percentage_number(self, now, total):
    return round(now / total * 100, self.decimal)

  def progress_bar(self, num):
    well_num = "#" * num
    space_num = " " * (self.number - num)
    return '[%s%s]' % (well_num, space_num)
index = Index()
total,s,n,t=0.0,1,1.0,1.0
while(math.fabs(t)>=1e-6):
  total+=t
  n+=2
  s=-s
  t=s/n
k=total*4
start = 371
for i in range(start + 1):
  print(index(i, start), end='')
  time.sleep(0.01)
print("\n π值是{:.10f}".format(k))

(3)

import time
import math
total,s,n,t=0.0,1,1.0,1.0
while(math.fabs(t)>=1e-6):
  total+=t
  n+=2
  s=-s
  t=s/n
k=total*4
scale=50
print("".center(scale//2,"-"))
start = time.perf_counter()
for i in range(scale+1):
  a="*"*i
  b="."*(scale-i)
  c=(i/scale)*100
  d=time.perf_counter() - start
  print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,d),end='')
  time.sleep(0.1)
print("\n π值是{:.10f}".format(k))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python计算开方、立方、圆周率,精确到小数点后任意位的方法

    Python计算的位数 在电脑上做了一个实验,看看python能计算到多少位,一下是结果. x = math.sqrt((3)) print ("%.53f"%(x)) print ("%.63f"%(x)) print ("%.83f"%(x)) 1.73205080756887719317660412343684583902359008789062500 1.732050807568877193176604123436845839023590

  • 利用Python计算KS的实例详解

    在金融领域中,我们的y值和预测得到的违约概率刚好是两个分布未知的两个分布.好的信用风控模型一般从准确性.稳定性和可解释性来评估模型. 一般来说.好人样本的分布同坏人样本的分布应该是有很大不同的,KS正好是有效性指标中的区分能力指标:KS用于模型风险区分能力进行评估,KS指标衡量的是好坏样本累计分布之间的差值. 好坏样本累计差异越大,KS指标越大,那么模型的风险区分能力越强. 1.crosstab实现,计算ks的核心就是好坏人的累积概率分布,我们采用pandas.crosstab函数来计算累积概率

  • python计算圆周率pi的方法

    本文实例讲述了python计算圆周率pi的方法.分享给大家供大家参考.具体如下: from sys import stdout scale = 10000 maxarr = 2800 arrinit = 2000 carry = 0 arr = [arrinit] * (maxarr + 1) for i in xrange(maxarr, 1, -14): total = 0 for j in xrange(i, 0, -1): total = (total * j) + (scale * a

  • python计算导数并绘图的实例

    我就废话不多说了,直接上代码吧! import math import numpy as np import matplotlib.pyplot as plt from sympy import * #用于求导积分等科学计算 def dif(left,right,step):#求导 左右区间以及间隔 x,y = symbols('x y')#引入x y变量 expr = pow(x,5)#计算表达式 x_value = [] #save x value y_value = [] #save x

  • python使用三角迭代计算圆周率PI的方法

    本文实例讲述了python使用三角迭代计算圆周率PI的方法.分享给大家供大家参考.具体如下: 方法1: 复制代码 代码如下: # Calculating PI using trigonometric iterations # FB36 - 20130825 import math x = 1.0 y = 1.0 z = 1.0 w = 1.0 v = 1.0 u = 1.0 for i in range(30):       x = math.sin(x) + x     y = math.co

  • AUC计算方法与Python实现代码

    -AUC计算方法 -AUC的Python实现方式 AUC计算方法 AUC是ROC曲线下的面积,它是机器学习用于二分类模型的评价指标,AUC反应的是模型对样本的排序能力.它的统计意义是从所有正样本随机抽取一个正样本,从所有负样本随机抽取一个负样本,当前score使得正样本排在负样本前面的概率. AUC的计算主要以下几种方法: 1.计算ROC曲线下的面积.这是比较直接的一种方法,可以近似计算ROC曲线一个个小梯形的面积.几乎不会用这种方法 2.从AUC统计意义去计算.所有的正负样本对中,正样本排在负

  • Python实现计算圆周率π的值到任意位的方法示例

    本文实例讲述了Python实现计算圆周率π的值到任意位的方法.分享给大家供大家参考,具体如下: 一.需求分析 输入想要计算到小数点后的位数,计算圆周率π的值. 二.算法:马青公式 π/4=4arctan1/5-arctan1/239 这个公式由英国天文学教授约翰·马青于1706年发现.他利用这个公式计算到了100位的圆周率.马青公式每计算一项可以得到1.4位的十进制精度.因为它的计算过程中被乘数和被除数都不大于长整数,所以可以很容易地在计算机上编程实现. 三.python语言编写出求圆周率到任意

  • Python计算IV值的示例讲解

    在对变量分箱后,需要计算变量的重要性,IV是评估变量区分度或重要性的统计量之一,python计算IV值的代码如下: def CalcIV(Xvar, Yvar): N_0 = np.sum(Yvar==0) N_1 = np.sum(Yvar==1) N_0_group = np.zeros(np.unique(Xvar).shape) N_1_group = np.zeros(np.unique(Xvar).shape) for i in range(len(np.unique(Xvar)))

  • 基于Python计算圆周率pi代码实例

    一 计算公式: 二 实现代码 (1) import math from tqdm import tqdm import time total,s,n,t=0.0,1,1.0,1.0 while(math.fabs(t)>=1e-6): total+=t n+=2 s=-s t=s/n k=total*4 print("π值是{:.10f} 运行时间为{:.4f}秒".format(k,time.clock())) for i in tqdm(range(101)): print(

  • 基于python实现蓝牙通信代码实例

    这篇文章主要介绍了基于python实现蓝牙通信代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 安装和示例 linux下安装 sudo apt-get install python-pip libglib2.0-dev sudo pip install bluepy 官方示例 import btle class MyDelegate(btle.DefaultDelegate): def __init__(self, params): bt

  • 基于python使用tibco ems代码实例

    这篇文章主要介绍了基于python使用tibco ems代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 TIBCO Enterprise Message Service 是一个消息服务器产品 完全支持JMS的通讯协议,在运行速度和消息吞吐量上表现非常出色, 对于Windows.Linux.Mac.AIX平台都提供支持 代码如下 #encoding=utf-8 import jpype jvmpath=r"C:\Program Files

  • 基于python实现简单网页服务器代码实例

    代码: hello.py #!/usr/bin/python # coding: utf-8 # hello.py def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/html')]) return '<h1>Hello, %s!</h1>' % (environ['PATH_INFO'][1:] or 'web') server.py #!/usr/b

  • 如何通过python计算圆周率PI

    代码如下 def PI(n): pi=0 for k in range(n): pi += 1/pow(16,k)*(4/(8*k+1)-2/(8*k+4)-1/(8*k+5)-1/(8*k+6)) return pi import time scale = 20 print("执行开始".center(scale+4,'-')) for i in range(scale+1): a='*' * i b='.' * (scale-i) c=(i/scale)*100 pi = PI(1

  • 利用Python计算圆周率π的实例代码

    前言 A货:什么!你不会背圆周率(鄙夷的眼神) 3.1415926535 8979323846 26433... 桥哥:我会算呀 !!! 一.圆周率的历史 1.中国 ★ 魏晋时期,刘徽曾用使正多边形的边数逐渐增加去逼近圆周的方法 (即「割圆术」),求得π的近似值3.1416. ★ 汉朝时,张衡得出π的平方除以16等于5/8,即π等于10的开方(约为3.162).虽然这个值不太准确,但它简单易理解,所以也在亚洲风行了一阵. ★ 王蕃(229-267)发现了另一个圆周率值,这就是3.156, 但没有

  • 基于JavaScript伪随机正态分布代码实例

    这篇文章主要介绍了基于JavaScript伪随机正态分布代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在游戏开发中经常遇到随机奖励的情况,一般会采取先生成数组,再一个一个取的方式发随机奖励. 下面是js测试正态分布代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <ti

  • PYTHON绘制雷达图代码实例

    这篇文章主要介绍了PYTHON绘制雷达图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.雷达图 import matplotlib.pyplot as plt import numpy as np values = [0.09,-0.05,0.20,-0.02,0.08,0.09,0.03,0.027] x = np.linspace(0,2*np.pi,9)[:-1] c = np.random.random(size=(8,3)

  • 基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解

    我就废话不多说了,大家还是直接看代码吧! # -*- coding: utf-8 -*- """ Created on Thu Apr 12 11:23:46 2018 @author: henbile """ #计算滚动波动率可以使用专门做技术分析的talib包里面的函数,也可以使用pandas包里面的滚动函数. #但是两个函数对于分母的选择,就是使用N还是N-1作为分母这件事情上是有分歧的. #另一个差异在于:talib包计算基于numpy,

随机推荐