Matrices en Python
Ejercicio 21: Declaración y Acceso a Matrices
Dada la siguiente matriz qué representa un tablero:
1 2 3
4 5 6
7 8 9
Realiza lo siguiente:
- Declarar e inicializar la matriz.
- Acceder al valor de la posición Fila 1, Columna 2 (número 6).
- Imprimir el elemento central (número 5).
- Recorrer solo la segunda fila.
- Recorrer toda la matriz con un bucle anidado.
- Extraer los múltiplos de 2 en otra matriz.
Solución
# Declarar matriz
m = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
# Mostrar matriz
print("matriz completa:")
print(m)
# Fila 1, Columna 2
print("fila 1, columna 2:", m[1][2])
# Elemento central
print("elemento central de la matriz:", m[1][1])
# Recorrer solo la segunda fila
print("Elementos de la segunda fila:")
for elemento in m[1]:
print(elemento)
# Bucle anidado para imprimir toda la matriz
print("bucle anidado:")
for fila in m:
print()
for elemento in fila:
print(elemento, end=" ")
# Extraer múltiplos de 2 a otra matriz y eliminarlos de la original
matrizmultiplos = []
for i in range(len(m)):
nuevaFila = []
j = 0
while j < len(m[i]):
if m[i][j] % 2 == 0:
nuevaFila.append(m[i][j])
m[i].pop(j)
else:
nuevaFila.append("")
j += 1
matrizmultiplos.append(nuevaFila)
print("\nmatriz sin los múltiplos de dos:")
for fila in m:
print(fila)
print("\nmatriz con los múltiplos de 2:")
for fila in matrizmultiplos:
print(fila)
Ejercicio 22: Recorrer Matriz por Columnas
Inicializa la siguiente matriz:
A B C
D E F
G H I
Imprime los elementos siguiendo el orden:
A D G B E H C F I
Solución
matriz = [
["A", "B", "C"],
["D", "E", "F"],
["G", "H", "I"]
]
# Con while
columna = 0
while columna < len(matriz[0]):
fila = 0
while fila < len(matriz):
print(matriz[fila][columna], end=" ")
fila += 1
columna += 1
# Con for-each (recorre por filas)
for fila in matriz:
for elemento in fila:
print(elemento, end=" ")
Ejercicio 23: Sumar Columna de una Matriz
Dada la matriz P:
[5.0, 10.5]
[8.2, 15.0]
[1.5, 3.0]
La columna 0 son precios mayoristas y la columna 1 son precios minoristas.
Calcula la suma total de la columna 1.
Solución
p = [
[5.0, 10.5],
[8.2, 15.0],
[1.5, 3.0]
]
suma = 0
for fila in p:
suma += fila[1]
print("Suma de los precios de minorista:", suma)
Ejercicio 24: Contar Primos en una Matriz
Dada la matriz:
10 7 3
4 11 15
17 20 23
Escribe un algoritmo qué cuente cuántos números primos contiene.
Solución
matriz = [
[10, 7, 3],
[4, 11, 15],
[17, 20, 23]
]
def esPrimo(n):
if n <= 1:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
contadorPrimo = 0
for fila in matriz:
for elemento in fila:
if esPrimo(elemento):
contadorPrimo += 1
print("Cantidad de números primos:", contadorPrimo)