Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: marinas4 en 29 Noviembre 2009, 15:41 pm



Título: [python] necesito ayuda mostrar matriz
Publicado por: marinas4 en 29 Noviembre 2009, 15:41 pm
Buenas estoy haciendo un proyecto para la clase de informatica de la universidad y necesito una funcion que me muestre  la matriz creada anteriormente pero fila bajo fila

python en general te meustra la matriz asi

[["A","B","C","D","E","F"]["G","H","I","J","K","L"]......

que podria hacer para que por pantalla me mostrase asi la matriz
["A","B","C","D","E","F"]
["G","H","I","J","K","L"]
......

Espero respuesta


Título: Re: [python] necesito ayuda mostrar matriz
Publicado por: leogtz en 29 Noviembre 2009, 18:32 pm
No sé absolutamente nada de python, pero supongo que el código vale para todo lenguaje que use esas estructuras de datos

Dado que es una arreglo de cadenas de caracteres, podrías ir recorriendo caracter por caracter y hacer un salto de línea cuando termine.

Mira, esto, es en código C, pero el algoritmo ha de ser el mismo:

Código
  1. /* Definir matriz, en este caso de 2 filas y 6 columnas */
  2. char *matriz[6] = {
  3.        "ABCDEF",
  4.        "GHIJKL"
  5.    };
  6.    unsigned int i, j; /* Declaro las variables que usarán los ciclos para ir recorriendo la matriz */
  7.    for(i = 0; i < 2; i++)
  8.    {
  9.        for(j = 0; j < 6; j++)
  10.        printf("%c ", matriz[i][j]); /* Imprimo el elemento */
  11.        putchar('\n');  /* Hago el salto de línea dentro del bucle externo */
  12.    }
  13.  

En todo caso, algún compañero que programe en python te aclarará mejor las dudas.

Saludos.


Título: Re: [python] necesito ayuda mostrar matriz
Publicado por: Novlucker en 29 Noviembre 2009, 20:43 pm
Lo que ocurre es que tu haces un print "general" de la matriz completa ...
Ej:
Código
  1. matriz = [["A","B","C","D","E","F"],["G","H","I","J","K","L"]]
  2. print(matriz)
Resultado:
Código
  1. [['A', 'B', 'C', 'D', 'E', 'F'], ['G', 'H', 'I', 'J', 'K', 'L']]

Y lo que debes de hacer es recorrer cada uno de los elementos del array/matriz

Ej:
Código
  1. matriz = [["A","B","C","D","E","F"],["G","H","I","J","K","L"]]
  2. for i in matriz:
  3.    print(i)
Resultado:
Código
  1. ['A', 'B', 'C', 'D', 'E', 'F']
  2. ['G', 'H', 'I', 'J', 'K', 'L']

Saludos ;D


Título: Re: [python] necesito ayuda mostrar matriz
Publicado por: marinas4 en 29 Noviembre 2009, 21:22 pm
Gracias por las respuestas intetare lo que me habeis dicho

muchisimas gracias


Título: Re: [python] necesito ayuda mostrar matriz
Publicado por: marinas4 en 29 Noviembre 2009, 21:34 pm
Al poner este codigo:
Código
  1. matriz = [["A","B","C","D","E","F"],["G","H","I","J","K","L"]]
  2. for i in matriz:
  3. print(i)
  4.  
me da el siguiente error:

local variable 'i' referenced before asignment

Perdon error mio al hacer la funcion he puesto un return que no tenia que poner :xD


Título: Re: [python] necesito ayuda mostrar matriz
Publicado por: Novlucker en 29 Noviembre 2009, 21:44 pm
Menos mal, porque no encontraba el problema por ningún lado :D

Saludos