Matrices en Python

Publicado por pjimpin1207

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)