Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: VonN en 7 Julio 2009, 03:58 am



Título: Problema en llenado de matriz
Publicado por: VonN en 7 Julio 2009, 03:58 am
Hola. El problema está en el llenado de matriz con números aleatorios:

Código
  1. import random
  2. n=input("Ingrese N")
  3. m=input("Ingrese M")
  4. matriz=[0][0]*4
  5. i=0
  6. j=0
  7. while(i<n):
  8. while(j<n):
  9. matriz[i][j]=random.randint(0,100)
  10. j=j+1
  11. i=i+1
  12. i=0
  13. j=0
  14. while(i<n):
  15. while(j<m):
  16. print matriz[i][j]
  17. j=j+1
  18. i=i+1


Título: Re: Problema en llenado de matriz
Publicado por: Novlucker en 7 Julio 2009, 05:22 am
A ver si entiendo ... lo que quieres hacer es definir una matriz o lista multidimensional y cargarle valores random?
De ser así tienes que hacer algo como esto :P

Código
  1. import random
  2. n=int(input("Ingresa las filas\n"))
  3. m=int(input("Ingresa las columnas\n"))
  4. matriz=[[0 for x in range(m)]for y in range(n)]
  5. i=0
  6. j=0
  7. while(i<n):
  8. while(j<m):
  9. matriz[i][j]=random.randint(0,100)
  10. j = j+1
  11. i = i+1
  12. j = 0
  13. i=0
  14. j=0
  15. print(matriz)

He obviado la última parte donde se mostraba uno a no los elementos de la matriz, ya que de este modo es más visual el modo en que quedan dichos elementos, de lo contrario sería más sencillo utilizar una lista y ya :P

Saludos


Título: Re: Problema en llenado de matriz
Publicado por: VonN en 7 Julio 2009, 16:33 pm
Muchas gracias Novlucker  ::)

La verdad me ayudaste a aprender sobre esto:

Código
  1. matriz=[[0 for x in range(m)]for y in range(n)]

Y sobre un error grave:

Código
  1. while(j<m):
  2. matriz[i][j]=random.randint(0,100)
  3. j = j+1
  4. i = i+1
  5. j = 0#!!!ESTO!!!

Y la parte del muestreo de la matriz tampoco lo sabía:
Código
  1. print(matriz)

Ya que directamente me muestra la matriz como se debe
Citar
[[21, 24, 61, 60, 68, 52, 67, 58, 67, 6], [60, 46, 100, 51, 95, 50, 29, 54, 26, 64], [65, 4, 35, 20, 1, 50, 67, 35, 71, 34], [4, 38, 100, 70, 33, 70, 54, 9, 93, 63], [1, 28, 24, 29, 85, 59, 62, 2, 79, 20]]

Agradecido  ::)


Título: Re: Problema en llenado de matriz
Publicado por: Novlucker en 7 Julio 2009, 16:39 pm
A todos nos toca aprender alguna vez!  ;D

Además ya lo he dicho alguna vez, algunos lenguajes se nos van oxiando, así que con gente preguntando es más fácil ponerlo en práctica y recordar  :P

Saludos