import math
def pi_leibniz_tabla():
# Entrada del usuario
N = int(input("Ingrese el numero maximo de elementos (terminos) de la serie: "))
s = 0.0
sign = 1.0
denom = 1.0
print("\n{:<10s} {:<18s} {:<18s}".format("Iteracion", "Pi_calculado", "Error"))
print("-" * 50)
for i in range(1, N + 1):
# término n = i-1: (-1)^n/(2n+1)
s += sign / denom
pi_aprox = 4.0 * s
error = abs(pi_aprox - math.pi)
print("{:<10d} {:<18.12f} {:<18.12f}".format(i, pi_aprox, error))
#print(" {:<18.12f} {:<18.12f}".format(pi_aprox, error))
#print("{:<18.12f}".format(error))
# preparar siguiente término
sign = -sign
denom += 2.0
print("\nPi real (math.pi) =", math.pi)
# Ejecutar
pi_leibniz_tabla()