| |||
| matriz + random (inicilizado) + for (=perdida de posiciones?) Buenas tardes tengo una duda sobre una matriz : Lleno la matriz con un random.randint (1,9) con 2 fors para la matriz es decir : 3 4 5 6 2 3 4 5 1 4 6 7 1 4 6 7 tendría que dar esto : vector[0][0]=3 vector[1][1]=3 vector[2][2]=6 vector[3][3]=7 Pero me da vector[0][0]=1 vector[1][1]=4 vector[2][2]=6 vector[3][3]=7 Que hago mal ? :S Lo bueno es que antes de perder las posiciones con el random lo declaro arriba 2 fors y abajo hago 2 fors + para cojer esas posiciones pero nanai de la xina :) |
| ||||
| Respuesta: matriz + random (inicilizado) + for (=perdida de posiciones?) Pon el código que estás usando para que veamos dónde está el error. Saludos (:
__________________ " Getting older’s not been on my plans but it’s never late, it’s never late enough for me to stay. " Cigarettes - Russian Red |
| |||
| Respuesta: matriz + random (inicilizado) + for (=perdida de posiciones?) Cita: Perdón por tardar :)
Código Python:
Ver originalCopiar Ahora lo he hecho con dos fors por provar :) , ahora pierdo las posiciones si o si :) alguna ayuda? :) Última edición por drakgoku1; 05/02/2012 a las 09:18 |
| ||||
| Respuesta: matriz + random (inicilizado) + for (=perdida de posiciones?) Lo que pasa es como inicias tu matriz.
Código Python:
La primera expresión [0] * N, devuelve una lista con N ceros, y los ceros al ser inmutables no pasa nada. Pero la segunda expresión devuelve N copias de listas con N ceros y las listas como es bien sabido, son mutables. Por eso si imprimes tu matriz veras que todas las filas son iguales.Ver originalCopiar Para evitar esto debes de hacer lo siguiente:
Código Python:
Para iniciar tu matriz. Ver originalCopiar |
| |||
| Respuesta: matriz + random (inicilizado) + for (=perdida de posiciones?) Cita: Exactamente la instrucción que hace ?
Iniciado por razpeitia Lo que pasa es como inicias tu matriz.
Código Python:
La primera expresión [0] * N, devuelve una lista con N ceros, y los ceros al ser inmutables no pasa nada. Pero la segunda expresión devuelve N copias de listas con N ceros y las listas como es bien sabido, son mutables. Por eso si imprimes tu matriz veras que todas las filas son iguales.Ver originalCopiar Para evitar esto debes de hacer lo siguiente:
Código Python:
Para iniciar tu matriz.Ver originalCopiar Es que lo quiero para un ejercicio y tu condicion funciona de perlas , pero sin eso no puedo ? , es decir más simple :) Creo entender que inicializas el vector 0 * N(posiciones) y corres a llegar a N ? I can't understand correcly , please tell me :) |
| ||||
| Respuesta: matriz + random (inicilizado) + for (=perdida de posiciones?) Cita: Bueno es lo mas sencillo que hay (o por lo menos lo mas sencillo que se me ocurrió).
Iniciado por drakgoku1 Exactamente la instrucción que hace ? Es que lo quiero para un ejercicio y tu condicion funciona de perlas , pero sin eso no puedo ? , es decir más simple :) Creo entender que inicializas el vector 0 * N(posiciones) y corres a llegar a N ? I can't understand correcly , please tell me :) Lo que hace es un compresión de listas. Básicamente una matriz es una lista de listas, donde el primer indice es la fila y la segunda la columna. |