Estava criando um programa para calcular valores aproximados de seno. Para isso, ele utiliza a série de Taylor pra função seno.
def fatorial(valor):
fatorial = 1
for valor in range(1, valor+1):
fatorial *= valor
valor -= 1
return fatorial
def sin(valor_radianos):
resultado = 0
for n in range(0, 100):
print(n)
sinal = (-1)**n
x = valor_radianos**(2*n+1)
fator = fatorial(2*n + 1)
resultado += (sinal*x)/fator
return resultado
O que acontece é que para calcular valores do tipo float ele consegue realizar as operações até n = 85. Por exemplo, se der print(sin(1.57)) "metade de pi" ele mostra o erro "OverflowError: int too large to convert to float". Gostaria de saber como resolver isso e realizar quantas iterações de n eu puder.