Autor
|
Tema: Ayuda Python! Matriz.. (Leído 9,169 veces)
|
cuazzo
Desconectado
Mensajes: 8
|
Hola... mi problema es el siguiente, tengo que crear una matriz, mostrarla, y luego mostrar solo los elementos de la matriz que son divisibles por 3, yo hago lo siguiente, y me sale un error!, que esta mal? como podria hacer? m=int(raw_input('Ingrese el número de filas: ')) n=int(raw_input('Ingrese el número de columnas: ')) minimo = min(m,n) A=[] for j in range(m): A.append( [0]*n) print 'Lectura de la matriz A' for j in range(m): for k in range(n): A[j][k] = float(raw_input('Dame el componente (%d,%d): ' %(j+1,k+1))) print A for i in A: if i %3 == 0: print i
|
|
« Última modificación: 16 Junio 2010, 01:54 am por Leo Gutiérrez. »
|
En línea
|
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
Lo primero, pon el código con sus respectiva etiqueta, o te borro el mensaje. Segundo, hay más errores, no solo te sale "un error". En primera, tengo entendido que no se aceptan acentos, aquí los hay: m=int(raw_input('Ingrese el número de filas: ')) n=int(raw_input('Ingrese el número de columnas: '))
Corrigelos. Segundo, ¿qué es esto? for j in range(m): A.append( *n)
Primero corrige eso.
|
|
|
En línea
|
|
|
|
cuazzo
Desconectado
Mensajes: 8
|
m=int(raw_input("Ingrese el número de filas: ")) n=int(raw_input("Ingrese el número de columnas: ")) minimo = min(m,n)
A=[] for j in range(m): A.append([0]*n) print "Lectura de la matriz A" for j in range(m): for k in range(n): A[j][k] = float(raw_input("Dame el componente (%d,%d): " %(j+1,k+1))) print A
for i in A: if i %3 == 0: print i Hay esta, el python admite acentos como comillas tambien, por eso.!, la primera parte, hasta el print A, esta perfecto, esa es la parte en donde se crea la matriz, la 2da parte esta mal.. Perdon por no poner el codigo en su etiqueta, es que soy nuevo en el foro.! Muchas gracias por responder.!
|
|
|
En línea
|
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
leo@lein:~/Escritorio$ python py.py Ingrese el numero de filas: 3 Ingrese el numero de columnas: 3 Lectura de la matriz A Dame el componente (1,1): 1 Dame el componente (1,2): 2 Dame el componente (1,3): 3 Dame el componente (2,1): 4 Dame el componente (2,2): 5 Dame el componente (2,3): 6 Dame el componente (3,1): 7 Dame el componente (3,2): 8 Dame el componente (3,3): 9 [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]]
3.0 6.0 9.0 leo@lein:~/Escritorio$
m=int(raw_input("Ingrese el numero de filas: ")) n=int(raw_input("Ingrese el numero de columnas: ")) minimo = min(m,n) A=[] for j in range(m): A.append([0]*n) print "Lectura de la matriz A" for j in range(m): for k in range(n): A[j][k] = float(raw_input("Dame el componente (%d,%d): " %(j+1,k+1))) print A print for j in range(m): for k in range(n): if A[j][k] % 3 == 0: print A[j][k]
|
|
|
En línea
|
|
|
|
cuazzo
Desconectado
Mensajes: 8
|
Muchas muchas gracias, ahora me surgio otra duda, estoy realizando muchos ejercicios.!.,si yo quiero generar una matriz de una fila como resultado de la suma de los elementos de las columnas de la matriz anterior, ¿como tengo que hacer?, sumar uno por uno los elementos?, seria muy largo, no se me ocurre otra cosa :S
|
|
|
En línea
|
|
|
|
plof
Desconectado
Mensajes: 18
|
Las comprehension lists vienen bien para manejar arrays: m=int(raw_input("Ingrese el n\xa3mero de filas: ")) n=int(raw_input("Ingrese el n\xa3mero de columnas: "))
A = [] [ A.append( [ float(raw_input('Dame el componente (%d,%d): ' %(j+1,i+1))) for i in range(n) ] ) for j in range(m)]
print A , "\n\n"
for i in A: for j in i: if not j % 3: print j
si yo quiero generar una matriz de una fila como resultado de la suma de los elementos de las columnas de la matriz anterior, ¿como tengo que hacer?, sumar uno por uno los elementos?
¿Por qué no lo intentas hacerlo por ti mismo? Saludos.
|
|
|
En línea
|
|
|
|
cuazzo
Desconectado
Mensajes: 8
|
Las comprehension lists vienen bien para manejar arrays: m=int(raw_input("Ingrese el n\xa3mero de filas: ")) n=int(raw_input("Ingrese el n\xa3mero de columnas: "))
A = [] [ A.append( [ float(raw_input('Dame el componente (%d,%d): ' %(j+1,i+1))) for i in range(n) ] ) for j in range(m)]
print A , "\n\n"
for i in A: for j in i: if not j % 3: print j
si yo quiero generar una matriz de una fila como resultado de la suma de los elementos de las columnas de la matriz anterior, ¿como tengo que hacer?, sumar uno por uno los elementos?
¿Por qué no lo intentas hacerlo por ti mismo? Saludos. Es que lo estoy intentando!, se me ocurre sumar elemento por elemento, pero si no se la dimension de la matriz no es posible hacer eso, y no se me ocurre mucho, soy muy novato recien empeze hace 2 semanas, pero ya voy a ir mejorando..
|
|
|
En línea
|
|
|
|
plof
Desconectado
Mensajes: 18
|
pero si no se la dimension de la matriz no es posible hacer eso
No te entiendo, la dimensión del array lo tienes en... n , nº de columnas m , nº filas len(A), nº de filas len(A[x]) , nº de columnas de la fila x-ésima.
se me ocurre sumar elemento por elemento,
A ver si ésto te ayuda: m=int(raw_input("Ingrese el n\xa3mero de filas: ")) n=int(raw_input("Ingrese el n\xa3mero de columnas: "))
A = [] B = [] [ A.append( [ float(raw_input('Dame el componente (%d,%d): ' %(j+1,i+1))) for i in range(n) ] ) for j in range(m)] [ B.append(0) for i in range(n)]
print A , "\n\n"
# Sentencia de control que suma las columnas del array A y lo almacena en el array B for i in range(m): for j in range(n): print "?" print "Soluci\xa2n: ", B
soy muy novato recien empeze hace 2 semanas, pero ya voy a ir mejorando..
Bienvenido a python .
|
|
|
En línea
|
|
|
|
cuazzo
Desconectado
Mensajes: 8
|
pero si no se la dimension de la matriz no es posible hacer eso
No te entiendo, la dimensión del array lo tienes en... n , nº de columnas m , nº filas len(A), nº de filas len(A[x]) , nº de columnas de la fila x-ésima.
se me ocurre sumar elemento por elemento,
A ver si ésto te ayuda: m=int(raw_input("Ingrese el n\xa3mero de filas: ")) n=int(raw_input("Ingrese el n\xa3mero de columnas: "))
A = [] B = [] [ A.append( [ float(raw_input('Dame el componente (%d,%d): ' %(j+1,i+1))) for i in range(n) ] ) for j in range(m)] [ B.append(0) for i in range(n)]
print A , "\n\n"
# Sentencia de control que suma las columnas del array A y lo almacena en el array B for i in range(m): for j in range(n): print "?" print "Soluci\xa2n: ", B
soy muy novato recien empeze hace 2 semanas, pero ya voy a ir mejorando..
Bienvenido a python . Gracias.. mi idea es empezar con Python y despues darle bien bien al C++, estoy por mi cuenta nomas, asi que como ves, estoy luchando..!
|
|
|
En línea
|
|
|
|
cuazzo
Desconectado
Mensajes: 8
|
plof y leo.. encontre la forma de recorrer la matriz por columnas.. Es asi no: M = Matriz m = Numero de filas n = Numero de columnas for j in range(n): for i in range(m): print "M[%d][%d] = %d" % (i, j, M[i][j]) Ahora, como hago para sumar los valores de cada columna?, me queda eso y ya soluciono el problema..
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda Matriz java!
Java
|
fosh
|
3
|
4,641
|
27 Abril 2011, 16:36 pm
por fosh
|
|
|
ayuda en operacion con matriz
Programación C/C++
|
kiara_luna
|
2
|
2,838
|
12 Septiembre 2011, 22:42 pm
por kiara_luna
|
|
|
Ayuda con matriz traspuesta
Programación C/C++
|
sora_ori
|
2
|
5,765
|
16 Enero 2013, 22:57 pm
por sora_ori
|
|
|
[Python] Sumatorio de elementos adyacentes en una matriz [SOLUCIONADO]
Scripting
|
eLank0
|
8
|
10,452
|
14 Marzo 2013, 23:27 pm
por MCKSys Argentina
|
|
|
[PYTHON] Saber si un elemento esta en una matriz
Scripting
|
Yidu
|
2
|
11,424
|
9 Abril 2015, 19:19 pm
por Yidu
|
|