Home >Backend Development >Python Tutorial >How to calculate π using formula in Python

How to calculate π using formula in Python

coldplay.xixi
coldplay.xixiOriginal
2020-08-22 09:32:0417001browse

Python uses formulas to calculate π: first import the math module and time module; then calculate Pi to a few digits after the decimal point, the code is [print('\n{:=^70}'.format ('Calculation starts'))]; Finally, the calculation is completed, the code is [print('\n{:=^70}'].

How to calculate π using formula in Python

[Related Study recommendation: python tutorial

How to calculate π using python formula:

1. Introduction to π

Introduction to π

Pi is represented by the Greek letter π (pronounced pài). It is a constant (approximately equal to 3.141592654) and represents the ratio of the circumference and diameter of a circle. It is an infinite Repeating decimals, in daily life, usually use 3.14 to represent pi for approximate calculations.

The solution process of π

  • In 1965, the British mathematician John Waugh John Wallis published a mathematical monograph in which he derived a formula and found that pi is equal to the product of infinite fractions multiplied.

  • In 2015, a professor at the University of Rochester Scientists discovered the same formula for pi in quantum mechanical calculations of the energy levels of hydrogen atoms.

  • On March 14, 2019, Google announced that pi has now reached 31.4 trillion decimal places.

Here I use a formula that I feel is 'good' to solve. It is good because the calculation results are relatively accurate, but the calculation process takes a long time. Let's do it together. Let’s study~~~

2. Approximate calculation of π

1. Calculation formula

How to calculate π using formula in Python

 2. Method explanation

The numerators on the right side of the formulas and equations used are all 1, and the denominator is an increasing sequence. Starting from the first term, the odd term sign is positive, and the sign of the even term is negative. The larger and smaller the denominator on the right side of the equation is, the more accurate the calculated value of pi is. To put it another way, the more terms on the right side of the equation, the more accurate the calculated value.

3. Code implementation (python)

 1 from math import fabs           #导入数学模块
 2 from time import perf_counter   #导入时间模块
 3 
 4 def Bar(i):         #动态文本条
 5     N = pow(10,level)
 6     a = int((i/N)*50)
 7     b = 50 - a
 8     Y , N = '*' * a , '.' * b
 9     print("\r计算中:{:3.0f}% [{}->{}] {:.2f}s"
10           .format(2*a,Y,N,perf_counter()),end='')
11     
12 level = eval(input('计算Pi精确到小数点后几位数:'))
13 print('\n{:=^70}'.format('计算开始'))
14 a,b,pi,tmp = 1,1,0,1
15 i = 0
16 '''
17 a 分子  |  b 分母  |  pi 圆周率
18 tmp 存储a/b的值    |  i  执行进度
19 '''
20 perf_counter()      #开始计时
21 while (fabs(tmp) >= pow(10,-level)): #计算Pi
22     pi += tmp
23     b += 2
24     a = -a
25     tmp = a/b
26     i += 2
27     Bar(i)          #调用函数,实时显示计算进度
28 
29 print('\n{:=^70}'.format('计算完成'))
30 print('\nPi的计算值为:{}'.format(round(pi*4,level))) #输出计算结果

4. Picture example

How to calculate π using formula in Python

How to calculate π using formula in Python

How to calculate π using formula in Python

As can be seen from the above three pictures, it only takes 14.07 seconds to be accurate to 4 digits after the decimal point, and it also takes 6 seconds to be accurate to 6 digits after the decimal point. 124.61 seconds, and accurate to 8 decimal places requires 850 / 8% = 10625 seconds, which is about 177 minutes, or 2.95 hours. This method is good, but it still takes a long time to calculate.

The above is the detailed content of How to calculate π using formula in Python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn