Exercices niveau intermédiaires

1 - Exercices sur les objets et les classes

ATTENTION

Pensez à sauvegarder régulièrement vos programmes !

1.2 - Exercice 1 : gérer un parc automobile

Vous êtes le gérant d'une agence qui loue des voitures. Chaque voiture est un objet instancié à partir d'une classe Voiture

La classe Voiture est définie par :

  • une immatriculation (du type AA-123-BB)
  • une marque
  • une couleur

Ecrire un programme qui :

  • crée la classe Voiture
  • crée une variable dacia qui contient un objet (instancié à partir de la classe Voiture) de marque Dacia, de couleur blanche, d'immatriculation AA-123-AA
  • affiche la marque et l'immatriculation de cet objet
  • crée une liste vide mesVoitures
  • crée les objets Peugeot bleue BB-123-BB, Renault rouge CC-123-CC, Citroën verte DD-123-DD et les ajoute au fur et à mesure dans la liste mesVoitures
  • affiche la liste des immatriculations contenues dans mesVoitures

Voir la correction

2 - Exercices sur les listes

2.1 - Exercice 1 : parcourir une liste

On travaille avec la liste suivante :

jeux_NES = [
    "Super Mario Bros", "Tetris", "Kirby's Adventure ", 
    "Legend of Zelda", "Dragon Quest", "Metroid"
    ]

Ecrire un programme qui :

  • affiche les différents éléments de cette liste ligne par ligne (un élément par ligne)

Astuce

Penser à utiliser une boucle

Voir la correction

2.2 - Exercice 2 : manipuler une liste, inverser des valeurs

On travaille avec la liste suivante :

Liste = ["Python", "Java", "C", "PHP", "HTML", "Javascript"]

Ecrire un programme qui :

  • affiche la liste initiale
  • affiche ensuite le nombre d'éléments dans cette liste
  • inverse le premier et le dernier élément de la liste
  • réaffiche la liste une fois modifiée

Voir la correction

2.3 - Exercice 3 : trouver le minimum dans une liste

Ecrire un algorithme (un programme) en python sous la forme d'une fonction qui :

  • prend en paramètre une liste appelée par MaListe de 8 nombres pris entre 1 et 50 (peut utiliser randint si on le souhaite)
  • et renvoie le minimum de la liste sans utiliser aucune fonction prédéfinie en Python

Pour aller un peu plus loin, on peut faire la même chose pour trouver le maximum

Voir la correction

3 - Exercices sur les chaînes de caractères

3.1 - Exercice 1 : utiliser les différentes méthodes associées à l'objet chaines de caractères

On utilise la chaîne de caractères message suivante :

message = "Bienvenue au club info !"

Réaliser les choses suivantes avec cette chaîne :

  • afficher le nombre de caractères de cette chaîne
  • afficher le nombre de u dans cette chaîne
  • convertir tous les caractères en majuscules et afficher la chaîne
  • convertir tous les caractères en minuscules et afficher la chaîne
  • Remettre la majuscule sur la première lettre et afficher la chaîne

Voir la correction

4 - Exercices sur les dictionnaires

4.1 - Exercice 1 : créer un dictionnaire de mots liés à l'informatique

Voici une liste de vocabulaire informatique en français et anglais :

  • clavier : keyboard
  • écran : screen
  • souris : mouse
  • ordinateur : computer
  • imprimante : printer
  • réseau : network

Ecrire un programme qui :

  • crée un dictionnaire contenant les informations ci-dessus. On prendra le mot français comme clef et le mot anglais comme valeur.
  • contient une fonction traduction_anglais qui prend en paramètre un mot français et, s'il existe, renvoie le mot anglais sinon affiche un message d'erreur.

Voir la correction

4.2 - Exercice 2 : manipulations sur les dictionnaires - niveau facile

On crée le dictionnaire monPC suivant qui stocke les informations de configuration d'un ordinateur:

monPC = {
    "device": "Laptop", 
    "constructeur": "DELL", 
    "ram": "8G",
    "processeur": "Intel core i5", 
    "stockage": "SSD 256Go"
}

Ecrire un programme qui :

  • contient le dictionnaire ci-dessus (faire un copier-coller dans votre programme)
  • affiche le dictionnaire monPC
  • corrige l'erreur "stockage": "500 G" et afficher le dictionnaire
  • crée un programme qui affiche la liste des clés, la liste des valeurs et la liste des paires de clés et valeurs
  • inverse les paires "processeur": "Intel core i5" et "stockage": "500 G"
  • ajoute la paire clef-valeur : "Système d'exploitation" : "GNU/Linux Debian"

Voir la correction

4.3 - Exercice 3 : manipulations sur un dictionnaire - niveau intermédiaire

On considère le carnet de notes suivant contenu dans un dictionnaire :

moyennes_T1 = {
    "Célestine" : 11,"Cédric" : 10,"Farida" : 16,"Zélie" : 12,"Fatoumata" : 15,
    "Colombin" : 19,"Ophélie" : 12,"Gauvin" : 9,"Rodolphe" : 11,"Ariel" : 16,
    "Perrine" : 20,"Hippolyte" : 20,"Delphine" : 11,"Bertrand" : 13,"Awa" : 18,
    "Perrette" : 10,"Eulalie" : 16,"Moussa" : 20,"Issa" : 10,"Marcelin" : 14,
    "Barnabé" : 10, "Léonce" : 14,"Everiste" : 7,"Jean" : 17,"Anceline" : 9, 
    "Léontine" : 9,"Maya" : 14,"Pablo" : 19,"Bernard" : 10,"Vinciane" : 19,
        "Daphné" : 18,"Ludovic" : 9
}

Ecrire un programme qui :

  • affiche la moyenne de Maya.
  • corrige la moyenne de Gauvin qui a 10 et non pas 9 puis affiche le dictionnaire modifié
  • affiche le nombre d'élèves de la classe
  • ajoute Alfred qui a une moyenne de 14 et affiche le dictionnaire modifié

Voir la correction

4.4 - Exercice 4 : manipulations sur un dictionnaire - niveau difficile

On complète le programme précédent.

Compléter le programme en ajoutant :

  • la fonction recherche_eleve qui prend en paramètre le nom de l'élève et renvoie un message "prenom est dans la classe" si c'est le cas ou "prenom n'est pas dans la classe" sinon.

  • une fonction qui calcule la moyenne de la classe. Elle prend en paramètre un dictionnaire et renvoie la moyenne.

  • une fonction qui prend en paramètre un dictionnaire et renvoie la liste d'élèves (un ou plusieurs) qui ont obtenu la meilleure moyenne.

  • une fonction qui prend en paramètre un dictionnaire et renvoie la liste des élèves qui n'ont pas obtenu la moyenne.

  • une fonction qui prend en paramètre un dictionnaire et qui ajoute un point de moyenne à chaque élève (attention : impossible d'avoir une moyenne supérieure à 20).

Tester toutes ces fonctions

Voir la correction

4.5 - Exercice 5 : manipuler les valeurs d'un dictionnaire

Exercice un peu plus compliqué. On crée un dictionnaire dont les clés sont des noms d'élèves et les valeurs sont les listes de leurs notes :

carnet_notes = {
    "Alain": [12, 15 , 17], 
    "Nathalie" : [15, 13 , 16], 
    "Robert": [13, 15 , 11] 
}

Ecrire un programme qui :

  • remplace les listes des notes par leurs moyennes.

Voir la correction

4.6 - Exercice 6 : retourner un résultat sous forme de dictionnaire

Ecrire un programme qui :

  • crée une liste vide et la remplit avec 10 chiffres choisis au hasard entre 1 et 5.
  • qui contient une fonction occurences(liste) qui prend en paramètre une liste et renvoie un dictionnaire qui a pour clef le chiffre de la liste (de 1 à 5) et en valeur le nombre de fois où il apparaît dans la liste.

Aides :

On utilisera randint :

from random import randint

# et ensuite utiliser randint(1,5) pour avoir des chiffres choisis au hasard entre 1 et 5

Et un exemple : occurences de la liste [1,3,2,1,4,1,2,1,2,3] doit retourner le dictionnaire {1:4,2:3,3:2,4:1}.

Voir la correction

5 - Exercices sur les fichiers

5.1 - Exercice 1 : créer et lire un fichier

Ecrire un programme qui :

  • crée, s'il n'existe pas déjà, un fichier monFichier.txt
  • écrit dans ce fichier la phrase suivante : "Python par moi, mon premier livre sur le langage Python" et ferme le fichier
  • réouvre le fichier pour le lire et affiche son contenu

Voir la correction

5.2 - Exercice 2 : ajouter du contenu dans un fichier

Ecrire un programme qui réutilise le fichier créé dans l'exercice 1 et qui :

  • ouvre en mode ajout et ajoute la ligne suivante "Par moi, apprenti développeur"
  • ferme le fichier
  • réouvre le fichier et affiche son contenu

Voir la correction