15. Cuadrado mágico
Crea una función que determine si una matriz cuadrada es un "cuadrado mágico". Un cuadrado mágico es una matriz donde la suma de los números en cada fila, cada columna y ambas diagonales principales es la misma.
La función debe aceptar una matriz (lista de listas de enteros) como parámetro y devolver True si es un cuadrado mágico, y False en caso contrario.
def es_cuadrado_magico(matriz: list[list[int]]) -> bool:
# Tu código aquí
pass
cuadrado_magico_ejemplo_1 = [
[2, 7, 6],
[9, 5, 1],
[4, 3, 8]
]
es_cuadrado_magico(cuadrado_magico_ejemplo_1)
# True (la suma es 15)
cuadrado_no_magico_ejemplo = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
es_cuadrado_magico(cuadrado_no_magico_ejemplo)
# False
Ratoncito
Implementa la lógica para verificar filas, columnas y las dos diagonales principales. Asume que la matriz siempre será cuadrada y contendrá solo números enteros.
Dragón
Añade validación para asegurar que la entrada es una matriz cuadrada y maneja el caso de matrices vacías o de tamaño 1x1. También, podrías devolver la "suma mágica" si es un cuadrado mágico, o un valor especial (como None) si no lo es.
Este trabajo está bajo una licencia Attribution-NonCommercial-NoDerivatives 4.0 International.
Apóyame en Ko-fi