TypeError: se requiere un flotador

No se puede publicar la imagen, así que: a[i]={(-1)^(i+1)*sin(x)*ln(x)}/{i^2*(i+1)!}

La tarea:
Necesito encontrar a1, a2, …, an.
n es natural y se da.

Así traté de hacer esto:

 import math a=[] k=0 p=0 def factorial(n): f=1 for i in range(1,n+1): f=f*i return f def narys(n): x=input('input x: ') #x isn't given by task rules, so i think that is error else. float(x) k=(math.pow(-1,n+1)*math.sin(x)*math.log10(n*x))/(n*n*factorial(n+1)) a.append=k n=int(input('input n: ')) narys(n) for i in a: print(a[p]) p=p+1 

Parece que estás usando la versión Python 3.x. El resultado de una llamada de input es una cadena tomada del teclado, que se pasa a una función math.sin(...) . float(x) convierte x a float pero no almacena el valor convertido en ningún lugar, así que cambie:

 float(x) 

a:

 x = float(x) 

para obtener el comportamiento correcto de su código.