Calcular Pi usando python

Algoritmo simples que calcula uma aproximação de pi. Ele se baseia na ideia de que a área de um polígono com muitos lados circunscritos dentro de um círculo unitário se aproxima de pi. No exemplo, eu testei o algoritmo com um polígono de 500 lados e o resultado da execução do código em minha máquina é 3,141592653589795 Observações importantes: O comprimento máximo que ele pode calcular é o número de dígitos decimais suportados pelo Python. O programa pode ser melhorado para aceitar a precisão arbitrária de casas decimais.

import math
def calcSide(a):
side
= math.sqrt(2)
H
= math.sqrt(1/2)
for x in range(1,a):
b
= side/2
x
= 1 - H
side
= math.sqrt(b**2+x**2)
H
= math.sqrt(1-(side/2)**2)
r
= {"side":side,"H":H}
return r

def calcPi(a):
r
= calcSide(a)
side
= r["side"]
H
= r["H"]
pi
= (side*H*(2**(a+1)))/2
return pi

calcPi
(500)