simplification correction carre magique

This commit is contained in:
2026-01-13 09:27:56 +01:00
parent 71cf49602e
commit bc07d7ee10

View File

@@ -521,22 +521,7 @@
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Question 2\n",
"def colonne(matrice, indice):\n",
" '''\n",
" Obtient une liste comportant l'ensemble des valeurs de la colonne indice de la matrice\n",
" :param matrice: (list) une matrice\n",
" :param indice: (int) un entier\n",
" :return: (list) une liste de valeurs de la colonne indice\n",
" :doctest:\n",
" >>> colonne([[1, 2],[3, 4]], 0)\n",
" [1, 3]\n",
" >>> colonne([[1, 2],[3, 4]], 1)\n",
" [2, 4]\n",
" '''\n",
" return [ matrice[i][indice] for i in range(len(matrice[0]))]"
]
"source": "# Question 2\ndef colonne(matrice, indice):\n '''\n Obtient une liste comportant l'ensemble des valeurs de la colonne indice de la matrice\n :param matrice: (list) une matrice\n :param indice: (int) un entier\n :return: (list) une liste de valeurs de la colonne indice\n :doctest:\n >>> colonne([[1, 2],[3, 4]], 0)\n [1, 3]\n >>> colonne([[1, 2],[3, 4]], 1)\n [2, 4]\n '''\n return [matrice[i][indice] for i in range(len(matrice))]"
},
{
"cell_type": "code",
@@ -615,28 +600,7 @@
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"def est_magique(matrice):\n",
" '''\n",
" Indique si le carré est magique ou non\n",
" :param matrice: (list) un carré d'entiers\n",
" :return: (bool) True si les sommes de chaque ligne, colonne et diagonale sont égales.\n",
" :doctest:\n",
" >>> est_magique([[2, 7, 6], [9, 5, 1], [4, 3, 8]])\n",
" True\n",
" >>> est_magique([[2, 7, 6], [9, 1, 5], [4, 3, 8]])\n",
" False\n",
" >>> est_magique([[16, 3, 2, 13], [5, 10, 11, 8], [9, 6, 7, 12], [4, 15, 14, 1]])\n",
" True\n",
" '''\n",
" constante = somme(matrice[0])\n",
" return (\n",
" all([somme(ligne(matrice, i)) == constante for i in range(1, len(matrice))]) and\n",
" all([somme(colonne(matrice, i)) == constante for i in range(0, len(matrice[0]))]) and\n",
" somme(diagonale_nord_ouest(matrice)) == constante and\n",
" somme(diagonale_nord_est(matrice)) == constante\n",
" )"
]
"source": "def est_magique(matrice):\n '''\n Indique si le carré est magique ou non\n :param matrice: (list) un carré d'entiers\n :return: (bool) True si les sommes de chaque ligne, colonne et diagonale sont égales.\n :doctest:\n >>> est_magique([[2, 7, 6], [9, 5, 1], [4, 3, 8]])\n True\n >>> est_magique([[2, 7, 6], [9, 1, 5], [4, 3, 8]])\n False\n >>> est_magique([[16, 3, 2, 13], [5, 10, 11, 8], [9, 6, 7, 12], [4, 15, 14, 1]])\n True\n '''\n constante = somme(ligne(matrice, 0))\n \n # Vérification des lignes\n for i in range(1, len(matrice)):\n if somme(ligne(matrice, i)) != constante:\n return False\n \n # Vérification des colonnes\n for i in range(len(matrice[0])):\n if somme(colonne(matrice, i)) != constante:\n return False\n \n # Vérification des diagonales\n if somme(diagonale_nord_ouest(matrice)) != constante:\n return False\n if somme(diagonale_nord_est(matrice)) != constante:\n return False\n \n return True"
},
{
"cell_type": "markdown",
@@ -937,4 +901,4 @@
},
"nbformat": 4,
"nbformat_minor": 2
}
}