simplification du code du carré magique
This commit is contained in:
@@ -275,7 +275,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -496,7 +496,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"execution_count": 5,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -518,14 +518,29 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"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))]"
|
||||
"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))]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -546,7 +561,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -597,10 +612,59 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"execution_count": 11,
|
||||
"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(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"
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"True"
|
||||
]
|
||||
},
|
||||
"execution_count": 11,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"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\n",
|
||||
" \n",
|
||||
"\n",
|
||||
"matrice = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]\n",
|
||||
"matrice_2 = [[16,3,2,13], [5,10,11,8], [9,6,7,12], [4,15,14,1]]\n",
|
||||
"est_magique(matrice_2)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -896,9 +960,9 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.9.7"
|
||||
"version": "3.13.11"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user