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.