From 72707823e9f0470023d0f8c8b02b273f88453bee Mon Sep 17 00:00:00 2001 From: Florian Mathieu Date: Tue, 13 Jan 2026 09:27:56 +0100 Subject: [PATCH] simplification correction carre magique --- .../chapitre_1/td/correction.ipynb | 42 ++----------------- 1 file changed, 3 insertions(+), 39 deletions(-) diff --git a/representation_construits/chapitre_1/td/correction.ipynb b/representation_construits/chapitre_1/td/correction.ipynb index 62d8aff..1a72bd5 100644 --- a/representation_construits/chapitre_1/td/correction.ipynb +++ b/representation_construits/chapitre_1/td/correction.ipynb @@ -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 -} +} \ No newline at end of file