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
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
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
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
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
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.
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"
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é
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
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.
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}.
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
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