How to find pi in Python

Source: Internet
Author: User
This article describes the Python method of seeking pi, is a translation from the foreign site of the article, shared for everyone to reference.

The implementation method is as follows:

#_ *_ coding=utf-8 *_*## {{http://code.activestate.com/recipes/578130/(R5) def Pi (places=10): "" "computes pi to given Nu Mber of the decimal places parameter places means the number of decimal digits of the PI to be returned: first the overall expansion of the 10**8 (10 of eight) times, and then the calculation is completed and then reduced by 10 of the eight times "" "# 3 + * (1/24) + 3 * (1/24) * (9/80) + * * (1/24) * (9/80) * (25/168) # The numerators 1, 9, ... is given by (2x + 1) ^ 2 # the Denominators 24 , 168 is given by (16x^2-24x + 8) Extra = 8 one = ten * * (Places+extra) T, c, N, na, d, da = 3*one, 3*one, 1, 0, 0 , the #这里的n and D respectively for each of the numerator and denominator, Na and da respectively, the numerator and the sub-denominator after the addition of a number of values #这里的//is not a C + + comment, but in addition to the meaning while T > 1:n, NA, d, da = n+ Na, na+8, d+da, da+32 t = t * N//d C + = t return c//(TEN * * extra) def picirc (radius, aspect_ratio=5): "" "Displa Y the digit of Pi in a circle of given radius radius: Display radius aspect_ratio: Adjusts the ratio of the displayed parameter "" "#display_width为各行的显示长度 disp lay_width = Int (RADIUS * aspect_ratio + ten) Pi_str = repr (pi (int (2 * RADIUS * * 2 * aspect_ratio)) pos = 0 #cols为每一行中要显 The number of digits shown for the 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].cen ter (display_width)) #将产生的pi数值生成的文本列表中相应的位数取出来显示在当前行 pos + = colsif __name__ = = ' __main__ ': Picirc (+) # # End of http:/ /CODE.ACTIVESTATE.COM/RECIPES/578130/}}}

The results shown are:

                  31415926535897932384 6264338327950288419716939937510582 0974944592307816406286208998628034825342117 0679821480865132823066470938446095505822317253594 0 81284811174502841027019385211055596446229489549303819644 28810975665933446128475648233             7867831652712019091456485669234 6034861045432664821339360726024914127372458700660631558817488152 09209628292540917153643678925903600113305305488204665213841469519415 116094330572703657595919530921861173819326 11793105118548074462379962749 5673518857527248912279381830119491298336733624406566430860213949463952247 37       1907021798609437027705392171762931767523846748184676694051320005681271452       63560827785771342757789609173637178721468440901224953430146549585371050792279 689258923542019956112129021960864034418159813629774771309960518707211349999998 3729780499510597317328160963185950244594553469083026425223082533446850352619311      88171010003137838752886587533208381420617177669147303598253490428755468731159562      86388235378759375195778185778053217122680661300192787661119590921642019893809525      72010654858632788659361533818279682303019520353018529689957736225994138912497217      75283479131515574857242454150695950829533116861727855889075098381754637464939319      2550604009277016711390098488240128583616035637076601047101819429555961989467678      374494482553797747268471040475346462080466842590694912933136770289891521047521        62056966024058038150193511253382430035587640247496473263914199272604269922796        782354781636009341721641219924586315030286182974555706749838505494588586926          9956909272107975093029553211653449872027559602364806654991198818347977535 66369807426542527862551818417574672890977772793800081647060016145249192 173217214772350141441973568548161361157 35255213347574184946843852332 3907394143334547762416862518983569485562099219222184272550254256 887671790494601653466804988627232791786085784383827 967976681 45410095388378636095068006422512520511739298489608412848 862694560424196528502 22106611863067442786220391949 4504712371378696095636437191728746776465757 39                   62413890865832645995813390478027 59009946576407895126

Hopefully this article will help you with Python programming.

  • 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.