exos tableaux listes python
Partie 1 : Tableaux 1D - Accès par indice
Exercice 1.1 : Gestion d’un inventaire de jeu vidéo
Vous développez un jeu de rôle où le personnage possède un inventaire de 10 emplacements. Chaque emplacement contient un objet représenté par une chaîne de caractères.
Exemple 1 : Accéder à un élément
Exemple 2 : Modifier un élément
Exemple 3 : Échanger deux éléments
Questions :
- Affichez l’objet situé à l’emplacement 4 de l’inventaire.
- Le joueur ramasse un “parchemin”. Remplacez le premier emplacement “vide” par “parchemin”.
- Le joueur utilise sa potion (indice 1). Remplacez-la par “vide”.
- Échangez les objets aux emplacements 0 et 6 (épée et arc).
- Créer une fonction
echangequi prend une listeLainsi que 2 indicesietjpour paramètres, et qui modifie la listeLen permutant les objets aux rangsietj. Cette fonction n’aura pas de valeur de retour. - Ecrire l’instruction qui échange les objets aux emplacements 0 et 6, mais cette fois-ci, en utilisant la fonction
echange.
Exercice 1.2 : Thermomètre intelligent
Un thermomètre enregistre les températures de chaque heure de la journée (24 valeurs).
Exemple : Calculer un écart
Exemple : Augmenter une valeur
Questions :
- Affichez la température à 14h (indice 14).
- Une erreur de capteur s’est produite à 8h. Modifiez la valeur à l’indice 8 pour la remplacer par 16.
- Pourrait-on utiliser la fonction
echange? Si oui, écrire l’instruction correspondante. - Calculez l’écart entre la température maximale (indice 13) et minimale (indice 5).
- Augmentez de 2 degrés la température de minuit (indice 0).
Partie 2 : Tableaux 1D - Parcours par élément et par indice
Exercice 2.1 : Analyse d’une partie de Scrabble
Un joueur de Scrabble possède les lettres suivantes dans son chevalet :
Exemple 1: Parcours par élément
Exemple 2: Compter des éléments
Exemple 3: Vérifier une condition
Questions avec parcours par élément :
- Affichez toutes les lettres du chevalet, une par ligne, en utilisant une boucle
for lettre in chevalet. - Comptez combien de voyelles (A, E, I, O, U, Y) se trouvent dans le chevalet.
- Affichez “BINGO!” si le chevalet contient au moins une lettre ‘S’, sinon affichez “Pas de S”.
- Ecrire une fonction
comptequi prend une listeLainsi qu’une lettreVen paramètre, et qui retourne le nombre de fois où cette lettre est présente dans la liste. - Ecrire l’instruction qui appelle cette fonction pour déterminer le nombre de
Edans le chevalet['A', 'E', 'R', 'T', 'I', 'N', 'S']
Exercice 2.2: Parcours par indice
Exemple 1: afficher l’indice et l’élément
Exemple 2: Modifier en parcourant
Exemple 3: Créer un nouveau tableau
Questions avec parcours par indice :
- Affichez chaque lettre avec sa position : “Position 0 : A”, “Position 1 : E”, etc.
- Remplacez toutes les voyelles par des ‘*’ en parcourant le tableau par indice.
- Créez un nouveau tableau contenant uniquement les consonnes en utilisant les indices.
Partie 3 : Tableaux 2D - Parcours par élément et par indice
Exercice 3.1 : Grille de Morpion
Parcours par élément
Une grille de morpion est représentée par un tableau 2D de 3×3 :
Exemple 1: afficher les éléments
Exemple 2: Compter les éléments
Questions:
- Affichez tous les ‘X’ de la grille, ligne par ligne en utilisant deux boucles
for. - Comptez le nombre de cases vides (contenant ’ ‘).
- Déterminez qui a le plus de coups joués (X ou O).
parcours par indice :
Exemple 1: Parcours par indice (tableau 2D)
Exemple 2: Accéder à un élément précis
Exemple 3: Vérifier une ligne
Questions:
- Le joueur O joue en position [1][2] (ligne 1, colonne 2). Ecrire l’instruction qui modifie la grille.
- Quelles sont les coordonnées
morpion[i][j]pour chacune des cases? Dessinez sur votre cahier une matrice pour placer les coordonnées[i][j]dans chaque case.. - Ecrire les instructions qui verifient si la première ligne contient trois symboles identiques (condition de victoire).
- Ecrire une fonction
ligne_Xqui prend pour paramètre une matriceMcomme la grille de morpion (3*3).Mcontient dans chaque case'X','O', ou''. Cette fonction retourneraTruesi l’une des lignes est remplie avec trois'X'.
Exercice 3.2 : Grille de Sudoku (9×9)
Voici une grille de Sudoku partiellement remplie :
Les cases vides sont représentées par 0.
Exemple : Compter les cases vides
Exemple : Afficher une ligne
Exemple : Afficher une colonne
Exemple : Modifier une case
Exemple : Extraire un bloc 3×3
Exemple : Vérifier les doublons dans une ligne
Questions avec parcours par indice :
- Comptez le nombre de cases vides (valeur 0) dans toute la grille.
- Affichez tous les chiffres de la première ligne (ligne d’indice 0).
- Affichez tous les chiffres de la cinquième colonne (colonne d’indice 4).
- Remplacez le 0 en position [0][2] par le chiffre 4.
- Ecrire une fonction
doublons, qui prend en paramètre une grille de sudokuG, ainsi qu’un numero de lignei, et qui retourne un booléenTrue/False. selon si la ligneicontient des doublons. (sans compter les 0). - Appeler la fonction
doublonspour vérifier si la première ligne contient des doublons. - Créez une fonction
blocqui extrait l’un des 9 blocs 3×3, n’importe où dans la grille. (par exemple, le bloc en haut à gauche : lignes 0-2, colonnes 0-2), à partir des indicesi,jde départ (coin supérieur gauche du bloc).
Conseils généraux
- Testez votre code progressivement : ne cherchez pas à tout résoudre d’un coup.
- Utilisez des fonctions pour organiser votre code et le rendre réutilisable.
- Affichez des résultats intermédiaires avec
print()pour vérifier votre logique. - N’oubliez pas : les indices commencent à 0 en Python !
Suite en projet: