Exercices
Chapitre 2: Usages avancés des tableaux
1 Questions de cours
Qu’est-ce qu’une liste en Python?
Comment créez-vous une liste en Python? Donner en exemple les instructions permettant de créer une liste
xs
de 3 entiers.Comment accédez-vous aux éléments d’une liste en Python? Donner en exemple les instructions permettant d’accéder au deuxième et au dernier élément de
xs
.Comment modifiez-vous les éléments d’une liste en Python? Donner un exemple sur
xs
.Comment ajoutez-vous des éléments à une liste en Python? Donner deux exemples d’ajout, un à la fin et un autre au début de la liste.
Comment supprimez-vous des éléments d’une liste en Python? Donner deux exemples de suppressions, un à la fin et un autre au début de la liste.
2 Carré magique
En mathématiques, un carré magique d’ordre est composé de entiers strictement positifs, écrits sous la forme d’un tableau carré. Ces nombres sont disposés de sorte que leurs sommes sur chaque rangée, sur chaque colonne et sur chaque diagonale principale soient égales. On nomme alors constante magique (et parfois densité) la valeur de ces sommes.
Article Wikipédia sur le carré magique
En voici un exemple:
Nous allons stocker les valeurs de ce carré magique sous la forme d’un tableau de tableau.
Que renvoie
len(carré)
?Quelle est la valeur de
carré[1]
?Quelle est la valeur de
carré[2][0]
?Définir une fonction qui
somme_ligne(c, n)
qui prend 2 paramètres:c
: un carré magique représenté sous forme de liste de liste.n
: l’index de la ligne considéré.
Qui renvoie la somme des éléments de la ligne
n
du carré.Par exemple l’appel
somme_ligne(carré, 0)
renvoie15
.Vous pourrez partir de cette base de code à compléter:
Proposer une fonction
vérifie_lignes(c)
, qui utilise la fonctionsomme_ligne
, qui prend un carré magique en paramètre et renvoieTrue
, si toutes ses lignes sont égales etFalse
sinon.Essayer d’être général afin que votre fonction puisse utiliser des carrés de taille quelconque, et pas seulement de 3 sur 3.
En plus: Créer des fonctions:
somme_colonne(c, n)
,vérifie_colonnes(c)
semblables aux fonctions précédentes, mais qui travaillent sur les colonnes du carré.somme_diagonale1(c)
,somme_diagonale2(c)
qui calculent les sommes de chacune des diagonales du carré.- Vous êtes maintenant capable de créer la fonction
vérifie_carré_magique(c)
qui renvoieTrue
si le carréc
donné en argument est magique etFalse
sinon.