67% ont trouvé ce document utile (3 votes)
6K vues5 pages

Examen Python

Ce document contient un exercice de QCM et deux exercices sur la programmation orientée objet en Python. L'exercice 1 propose de manipuler des listes et des fichiers textes. L'exercice 2 demande de définir des classes pour représenter des livres et leurs exemplaires, et de gérer les emprunts dans une bibliothèque.

Transféré par

hala kammoun
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
67% ont trouvé ce document utile (3 votes)
6K vues5 pages

Examen Python

Ce document contient un exercice de QCM et deux exercices sur la programmation orientée objet en Python. L'exercice 1 propose de manipuler des listes et des fichiers textes. L'exercice 2 demande de définir des classes pour représenter des livres et leurs exemplaires, et de gérer les emprunts dans une bibliothèque.

Transféré par

hala kammoun
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ecole Supérieure Privée Technologies & Ingénierie

Type d’épreuve : Devoir Examen


Enseignantes : S. JALEL, F. OMRI
Matière : Programmation Python
Année Universitaire : 2021 -2022 Semestre : 2
Classe : TIC-1
Documents : Autorisés Non autorisés
Date : 24/06/2022 Durée : 1h30
Nombre de pages :5
________________________________________________________________________________

QCM (4 pts) : Sélectionnez la bonne réponse en remplissant le tableau suivant (ce tableau doit
être repris sur la feuille réponses)

Question 1 2 3 4 5 6 7 8

Réponse

1. What is the output of the following snippet of code?

(A): a c d e f
(B): decaf
(C): abcdef
(D): An error occurs
(E): b g

2. What is the output of the following snippet of code?

(A): 18
(B): 10
(C): 5
(D): 13
(E): 9
1
3. What is the correct way to instantiate an object of the following class?

(A): b = B(self = 1, a = 2)
(B): b = B()
(C): b = B
(D): b = B(1,2)
(E): b = B(1)

4. What is the output of the following snippet of code?

(A): x
(B): Output is an empty string
(C): abc
(D): xxx
(E): An error occurs because strings are immutable

5. What is the output of the following snippet of code:

(A): ValueError occurs


(B): 3
(C): IndexError occurs
(D): AttributeError occurs
(E): 1

6. What is the output of the following snippet of code:

(A): [{‘a’, ‘abc’,3,2}]


(B): ‘a’, ‘abc’, 3,2
(C): [‘a’, abc’,3,2]
2
(D): An error will occur

7. What is the output of the following snippet of code?

(A): [1,2,4,7]
(B): None
(C): [4,2,7,1]
(D): An error occurs
(E): [7,4,2,1]

8. The file abc.txt contains the following 3 lines of text:

What is the output of the following snippet of code in the abc.py file?

(A): 2
(B): 1
(C): 4
(D): 3
(E): An error occurs

Exercice 1 : (3.5 pts)


1. Soit la liste : S = [ 3 , ‘tic’ , 5 , {1,2,3} , 88 , ’a’ ,[1,2,3] ]. Nous voulons afficher la sous-liste du
3ème au 5ème élément en utilisant un indexage négatif. Donnez l’instruction python
permettant de réaliser ce traitement. (0.5 pt)

2. Définissez une fonction remplir_fichier (fichier, S) qui étant donné le nom d’un fichier texte et
une liste S, stocke le contenu de S dans ce fichier de manière à ce que chaque ligne du fichier
contienne un élément de S. (3 pts)

3
Exemple : S = [ 2+9j , 10 , 5 , {1,2,3} , 88 , ’a’ , (5,6) ]. Le contenu du fichier après exécution de
la fonction :

Exercice 2 : (12 pts)


Nous supposons créer un ensemble de classes qui permettent d’effectuer la gestion d’une
bibliothèque. Pour ce faire, nous vous demandons de :

1. Définir une classe Exemplaire définie par :


 deux attributs publics num et dispo (de type booléen, indiquant si le livre est disponible
ou pas),
 un constructeur (1 pt)
 une méthode aff pour l’affichage (1 pt)

Exemple : pour l’objet e =(‘AZ789EE-1’,True) : on obtient l’affichage suivant :

N°Exemplaire : AZ789EE-1’

Etat : Disponible

2. Définir une classe Livre définie par les attributs publics suivants :
 isbn : code du livre
 titre : titre du livre
 auteur : auteur du livre
 nbex : nombre d’exemplaires initialement nul

Et l’attribut privé :

 L : de type liste initialement vide et qui servira à stocker les exemplaires qui seront créées
ultérieurement.

Prévoir un constructeur (1 pt) et les méthodes suivantes :

 affLiv : affiche les attributs isbn, titre et auteur du livre. (1 pt)


 affEx : affiche les informations relatives aux exemplaires du livre. (1 pt)
 ajouterEx : ajoute un exemplaire du livre à la liste des exemplaires. (1.5 pt)

4
NB : pour le livre l=(‘AZ78TT2’,’Programmer en Python’,’AB CB’, 3), le numéro du premier
exemplaire doit avoir la forme : ‘AZ78TT2-1’, celui du deuxième est ‘AZ78TT2-2’ et ainsi de
suite…

 emprunter : retourne l’attribut num du premier exemplaire disponible en effectuant les


mises à jour nécessaires et affiche le message « Livre nom disponible » dans le cas
échéant. (1 pt)
 rendre : permet de modifier les attributs de l’exemplaire numéro num afin qu’il devient
disponible de nouveau. (1.5 pt)

3. Ecrivez un programme principal qui :

a. Demande à l’utilisateur le nombre de livres à gérer (n). (0.25 pt)

b. Instanciez n objets de type Livre. Ces objets seront stockés dans un dictionnaire de type
dict[str:Livre] avec : (1.5 pt)

 les titres des livres, de type str, comme clés.


 les détails des livres, de type Livre, comme valeurs associées.

c. Demande à l’utilisateur de saisir le titre du livre à emprunter. Effectuer l’emprunt et


afficher les détails des exemplaires de ce livre (si le livre existe). Sinon, le programme
affiche « Ce livre n’existe pas ». (1.25 pt)

Vous aimerez peut-être aussi