Foros del Web » Programando para Internet » Python »

Problema en llenado de matriz

Estas en el tema de Problema en llenado de matriz en el foro de Python en Foros del Web. Hola. El problema está en el llenado de matriz con números aleatorios: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Python: Ver original import random n = input ( "Ingrese ...
  #1 (permalink)  
Antiguo 06/07/2009, 19:57
Avatar de FTech  
Fecha de Ingreso: julio-2009
Mensajes: 88
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Problema en llenado de matriz

Hola. El problema está en el llenado de matriz con números aleatorios:
Código Python:
Ver original
  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)#Aqui está el problema
  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
  #2 (permalink)  
Antiguo 06/07/2009, 21:15
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Problema en llenado de matriz

En una sola lista
Código python:
Ver original
  1. from random import randint
  2.  
  3. n = int(raw_input("Ingrese N\n"))
  4. m = int(raw_input("Ingrese M\n"))
  5. matriz = []
  6.  
  7. for i in range(n):
  8.     for j in range(m):
  9.         matriz.append(randint(0, 100))
  10.        
  11. print matriz

Ahora si lo quieres en listas de listas:
Código python:
Ver original
  1. from random import randint
  2.  
  3. n = int(raw_input("Ingrese N\n"))
  4. m = int(input("Ingrese M\n"))
  5. matriz = []
  6.  
  7. for i in range(n):
  8.     matriz.append([ randint(0, 100) for i in range(m)])
  9.        
  10. print matriz

Observaciones:

Convierte los datos leas ya sea con raw_input o input a enteros o flotantes cuando trabajes con numeros en primer lugar.

En segundo lugar trata de no usar los while, usa el for, le da un toque mas pythonesco al codigo

Código python:
Ver original
  1. matriz=[0][0]*4
Que se supone que intentabas hacer aquí?
Talvez querías hacer esto [[0]*4]*4 pero de que te sirve si solo son una relación y no una copia.
  #3 (permalink)  
Antiguo 07/07/2009, 09:30
Avatar de FTech  
Fecha de Ingreso: julio-2009
Mensajes: 88
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Problema en llenado de matriz

^^ En ese último intentaba llenar mi matriz de ceros, pero veo que se logra tan solo con matriz=[].

Muchas gracias!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:47.