Я пытаюсь ввести число и вычислить число «пи» для этой введенной цифры. Мне удалось вычислить число Пи, однако независимо от того, какое число я наберу, оно все равно будет генерировать одно и то же количество чисел Пи.
Я немного не понимаю, в какой момент это вызывает сделай это
from math import factorial
from decimal import Decimal, getcontext
# Chudnovsky algorithm for figuring out pi
getcontext().prec=100
pi_input = input('How many digits of pi would you like?')
n = int(pi_input)
def calc(n):
t= Decimal(0)
pi = Decimal(0)
deno= Decimal(0)
for k in range(n):
t = ((-1)**k)*(factorial(6*k))*(13591409+545140134*k)
deno = factorial(3*k)*(factorial(k)**3)*(640320**(3*k))
pi += Decimal(t)/Decimal(deno)
pi = pi * Decimal(12) / Decimal(640320 ** Decimal(1.5))
pi = 1/pi
return pi
print calc(n)
Вот мой результат
How many digits of pi would you like? 5
3.141592653589793238462643383279502884197169399375105820974944592307816346
94690247717268165239156011
Подробнее здесь: https://stackoverflow.com/questions/451 ... -nth-digit