[ Foro de Python ]

No puedo sumar los elementos de una lista

03-Feb-2020 03:12
Invitado (Natalia)
1 Respuestas

Que tal gente, soy nueva programando y estoy teniendo un problema con mi codigo . Mi codigo me develve al finalizar una lista de vectores que llamo "N", necesito crear un nuevo vector donde guarde la suma de elementos de cada vector de N. El problema es que no puedo usar la funcion sum() por alguna razon que no comprendo

tmax=2
PR=5
N=np.zeros((tmax,PR+1),dtype=int)
N[0,0]=1
Nt=[1]
for t in range(1,tmax):
#while Nt[]  <3:    
   for i in range(0,PR):
       N[t,i]=N[t-1,i+1]
   N[t,0]+=N[t-1,0]
   for n in range(0,N[t,0]):
       x=random.random()
       if x<1:
           N[t,PR]+=2
           N[t,0]-=1
           for l in N:
               Nt.append((sum(l)))



y el error que aparecce es este:



---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-50-518234ea49e5> in <module>
    17             N[t,0]-=1
    18             for l in N:
---> 19                 Nt.append((sum(l)))
    20
    21 #print(N)

TypeError: 'int' object is not callable


Desde ya muchas gracias y espero su ayuda


03-Feb-2020 08:11
Nacho Cabanes (+53)

Prueba a simplificar para reducir el problema: deja sólo la parte que declara la matriz bidimensional, la que la rellena y la que la recorre, para que el error sea más evidente.

Algunas ideas: ¿Seguro que puedes recorrer un array bidimensional con un "for"?  ¿Qué esperas extraer: filas, columnas o posiciones individuales? Falta el principio de tu programa, pero imagino que estás usando "numpy", por el "np.zeros" (¿falta un "import numpy as np"?). En ese caso, ¿tu suma no debería ser "np.sum"?






Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...