Встроенная в Python функция range()
не знает о символической оценке.Попробуйте вместо этого использовать sum()
функцию SymPy:
>>> from sympy import sum, var, solve
>>> x = var('x')
>>> f = lambda N: sum(n**2, (n, 1, N))
>>> n = var("n")
>>> f(x)
x/6 + x**2/2 + x**3/3
Обратите внимание, что лямбда-выражение может быть ненужным, в зависимости от того, чего вы на самом деле хотите достичь:
>>> N = var("N")
>>> solve(sum(n**2, (n, 1, N)) - 55, N)
[-13/4 - I*359**(1/2)/4, 5, -13/4 + I*359**(1/2)/4]
Вам все равно придетсяигнорировать сложные результаты.