TD5-TP5 PythonVerFinale
TD5-TP5 PythonVerFinale
TD5-TP5 PythonVerFinale
Semestre 2
TD/TP n°5 : modules, fonctions et fichiers. 2022/2023
Exercice n° 1 :
Dans cet exercice, vous aurez besoin des méthodes du module turtle suivantes : circle(rayon),
pencolor(newcolor), pendown(),penup(), setx(x) et sety(y). Donc vous pouvez utiliser la fonction help()
pour l’aide. Soit une liste des couleurs :
listeCol=["red","yellow","blue","black","gray","green","purple","orange","brown","pink"]
1. Réaliser un programme qui permet de choisir une couleur par hasard de cette liste et de tracer
un cercle du rayon saisi par l’utilisateur dans un endroit (x,y) par hasard aussi. (x et y doivent être
choisis parmi l’intervalle [-200,200] ).
2. Changer ce programme pour pouvoir tracer plusieurs cercles tant que l’utilisateur tape un rayon
entre 10 et 100.
Exercice n° 2 :
Etant donné un dictionnaire python dont les clés sont : " nom", "prenom" et "notes" et leurs valeurs
sont les informations d’un étudiant donné comme suivant :
listeEtudiant=[d] # liste d’étudiants initialisée par le dictionnaire « d » contenant les infos de Ali.
1. Soit la fonction lireEtudiant qui permet de lire les informations d’un étudiant et de les afficher
sous forme d’un dictionnaire :
1 Def lireEtudiant()
2 nomEtu=input("Nom:")
3 prenomEtu=input("Prénom:")
4 x,y,z=input("Donner trois notes séparées par des virgules :")
5 etudiant={"nom": "nomEtu", "prenom" : "prenomEtud" , "notes":[x,y,z]}
6 print(etudiant)
Pr. A. KADDARI
Exercice n° 3 : (sur papier)
1. Valider les appels et prédire leurs résultats pour la fonction suivante ?
a. keyword_args() def keyword_args(a, b=1, c='X', *d) :
b. keyword_args(a=5) print(a,b ,c, d)
c. keyword_args(5, 8)
h. keyword_args(c=7, b=1,a=8)
d. keyword_args(5, 2, c=4)
i. keyword_args(5, 2, 0, 1, "")
e. keyword_args(5,c=0, 1) j. keyword_args(5, 2, [], 5,1,3)
k. keyword_args(1, 7, e=6)
f. keyword_args(8,c=7, b=1)
l. keyword_args(6,5,4,c=3 , b=2,a=1)
g. keyword_args(c=7, b=1,8) m. keyword_args(5, 2, d=8, c=4)
2. Quels sont les résultats d’exécution de ces scripts ? Dans script2, remplacer x=8 par x=x-10 et
prédire les résultats ?
# script 1 # script 2
x = 10 x = 10
def foo() : def foo() :
print("(dedans foo) x :", x) x=8
print("(dedans foo) x :", x)
y=5
y=5
print('valeur:', x * y)
print('valeur:', x * y)
print("(dehors foo) x :", x) print("(dehors foo) x :", x)
foo() foo()
print("(après foo) x :", x) print("(après foo) x :", x)
3. Définissez une fonction nomMois(n) qui renvoie le nom du n-ième mois de l’année. Par exemple,
l’exécution de l’instruction : print(nomMois(4)) doit donner le résultat : Avril.
Exercice n° 4 :
Une voiture est caractérisée par son matricule, sa marque, son modèle et son prix. Nous voulons
enregistrer et gérer les informations des voitures d’une entreprise.
1. Créer une fonction enter_data() qui permet de lire les informations d’une voiture au clavier et
de les renvoyer sous forme d’un dictionnaire.
2. Créer une fonction save_data(fichier,liste) qui permet d’enregistrer une liste de dictionnaires
des voitures dans un fichier qui portera le nom par défaut "voitures.dat".
N.B : Chaque voiture par ligne sous la forme : matricule#marque#modele#prix
3. Proposer un programme principal qui initialise une liste vide des voitures puis :
a. Lire les info des voitures d’un utilisateur tant qu’il est d’accord, et ajouter chaque voiture lue
à la liste des voitures (appels successifs de la fonction enter_data).
b. Enregistrer la liste des voitures lues dans un fichier choisi par l’utilisateur (fonction save_data).
4. Réaliser une fonction show_data(fichier) qui permet d’afficher un fichier des voitures.
Pr. A. KADDARI