Python pi method, pythonpi Method

Source: Internet
Author: User

Python pi method, pythonpi Method

This example describes how to use python to calculate pi. It is an article translated from a foreign website and shared with you for your reference.

The specific implementation method is as follows:

# _ * _ Coding = UTF-8 * _ * # {http://code.activestate.com/recipes/578130/ (r5) def pi (places = 10 ): "Computes pi to given number of decimal places parameter places indicates the number of digits after the decimal point of the pi to be returned. Method: increase the total number by 10x8 (the eighth power of 10, after the computation is complete, scale down the 10 th power times "" #3 + 3 * (1/24) + 3 * (1/24) * (9/80) + 3 * (1/24) * (9/80) * (25/168) # The numerators 1, 9, 25 ,... are given by (2x + 1) ^ 2 # The denominators 24, 80,168 are given by (16x ^ 2-24x + 8) extra = 8 one = 10 ** (places + extra) t, c, n, na, d, da = 3 * one, 3 * one, 1, 0, 0, 24 # Here, n and d are the numerator and denominator of each item, na and da are the values added after the numerator and denominator respectively to the previous item. # // here is not the comment in C ++, but the meaning of while t> 1: n, na, d, da = n + na, na + 8, d + da, da + 32 t = t * n // d c + = t return c // (10 ** extra) def picirc (radius, aspect_ratio = 5 ): "Display the digit of pi in a circle of given radius: displayed radius aspect_ratio: adjust the display ratio parameter "" # display_width indicates the display length of each row display_width = int (radius * aspect_ratio + 10) pi_str = repr (pi (int (2 * radius ** 2 * aspect_ratio ))) pos = 0 # cols is the number of numbers to be displayed in each row for I in range (2 * radius ): cols = int (0.5 + aspect_ratio * (radius ** 2-(radius-(I + 0.5) ** 2) ** 0.5) print (pi_str [pos: pos + cols]. center (display_width )) # obtain the number of digits in the text list generated by the generated pi value and display it in the current row pos + = colsif _ name _ = '_ main __': picirc (16) # end of http://code.activestate.com/recipes/578130 }}}

The result is as follows:

                  31415926535897932384                                6264338327950288419716939937510582                          0974944592307816406286208998628034825342117                      06798214808651328230664709384460955058223172535940                   81284811174502841027019385211055596446229489549303819644                 288109756659334461284756482337867831652712019091456485669234               6034861045432664821339360726024914127372458700660631558817488152             09209628292540917153643678925903600113305305488204665213841469519415           11609433057270365759591953092186117381932611793105118548074462379962749         5673518857527248912279381830119491298336733624406566430860213949463952247         371907021798609437027705392171762931767523846748184676694051320005681271452       63560827785771342757789609173637178721468440901224953430146549585371050792279       689258923542019956112129021960864034418159813629774771309960518707211349999998      3729780499510597317328160963185950244594553469083026425223082533446850352619311      88171010003137838752886587533208381420617177669147303598253490428755468731159562      86388235378759375195778185778053217122680661300192787661119590921642019893809525      72010654858632788659361533818279682303019520353018529689957736225994138912497217      75283479131515574857242454150695950829533116861727855889075098381754637464939319      2550604009277016711390098488240128583616035637076601047101819429555961989467678      374494482553797747268471040475346462080466842590694912933136770289891521047521      62056966024058038150193511253382430035587640247496473263914199272604269922796        782354781636009341721641219924586315030286182974555706749838505494588586926        9956909272107975093029553211653449872027559602364806654991198818347977535          66369807426542527862551818417574672890977772793800081647060016145249192           17321721477235014144197356854816136115735255213347574184946843852332             3907394143334547762416862518983569485562099219222184272550254256               887671790494601653466804988627232791786085784383827967976681                 45410095388378636095068006422512520511739298489608412848                   86269456042419652850222106611863067442786220391949                      4504712371378696095636437191728746776465757                          3962413890865832645995813390478027                                59009946576407895126                  

I hope this article will help you with Python programming.


What is mathpi () in python?

Python 2.7.2 + (default, Oct 4 2011, 20:03:08)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> Import math
>>> Math. pi ()
Traceback (most recent call last ):
File "<stdin>", line 1, in <module>
TypeError: 'float' object is not callable
>>> Math. pi
3.141592653589793
>>>
 
How does python calculate PI by random number? Korean school assignments

The Monte Carlo method calculates the circumference rate (that is, throwing stones into a square ).
From _ future _ import division
Import random
Import time

For j in range (2, 8 ):
StartT = time. clock ()
Counter = 0
For I in range (10 ** j ):
X = random. uniform (-1, 1)
Y = random. uniform (-1, 1)
If x ** 2 + y ** 2 <1:
Counter = counter + 1
EndT = time. clock ()
Print (4*(counter/10 ** j ))
Print (endT-startT)
Print "*" * 10

Calculation Result 3.12
0.000603650921827
**********
3.128
0.0035999800338
**********
3.1356
0.0214809227182
**********
3.14212
0.216073908518
**********
3.141856
2.14863667725
**********
3.1418724
21.6984940915
**********

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.