Cita:
Iniciado por AlvaroG y queda solucionado el asunto de la división. Además, en Python 3 funciona por defecto devolviendo un flotante.
Tampoco es necesaria "una fórmula muy larga", más bien crear cada sumando en un for, ya que todos tienen la misma forma: el término de grado n es x^n/n!
Código Python:
Ver originalfrom math import factorial
from __future__ import division
y = 0
for i in range(0, n):
y += (x**i)/factorial(i)
return y
donde n es la cantidad de términos que te interesa generar para la serie.
AlvaroG yo también fue lo primero que hice, pero me di cuenta que le quitaba precisión.
Veamos un ejemplo:
Código Python:
Ver originalfrom __future__ import division
from math import factorial, e
def expo_razpeitia(x):
y = 0
for i in range(15): #Rango predefinido
y += 1 / factorial(i)
return y ** x
def expo_AlvaroG(x):
y = 0
for i in range(15):
y += (x ** i) / factorial(i)
return y
print e ** 10
print expo_razpeitia(10)
print expo_AlvaroG(10) #El tuyo tiene una perdida mas grande