PYTHON AVANCE
TRAVAUX PRATIQUES PYTHON AVANCE
TP N°1
Exercice 1 : Convertisseur de monnaie
Ecrire un programme Python qui lit un montant en franc CFA saisi au clavier, et afficher à
l’écran le montant correspondant en Euros.
NB : Le taux de change des Euros (EUR) en Francs CFA (XAF) est ce matin d’environ 655.96
(1.00 € 655.96 XAF).
Exercice 3
Ecrire un programme Python qui affiche des âges de 2 frères et qui calcule la moyenne de ces
âges.
Exercice 4
Ecrire un programme Python qui calcule et affiche la factorielle d’un nombre naturel.
Exercice 5
Ecrire un programme Python qui calcule et affiche le périmètre et l’aire d’un cercle de rayon
quelconque.
Exercice 2
Ecrire un programme qui en fonction de la valeur d'une variable jour (entier compris entre 1 et
7) affiche le jour de la semaine.
Exercice 6
Ecrire un programme Python de résolution dans R l’équation : aX2 + bX + C = 0
Exercice 7
Dans une election, I est le nombre d’inscrits, V le nombre de votants, Q le quorum, P = 100 V
/ I le pourcentage de votants, M= V/2 + 1, le nombre de voix pour avoir la majorité absolue.
Ecrire un programme Python qui :
1) Demande à l’utilisateur de saisir I, Q, V
2) Teste si le quorum est atteint.
3) Si oui calcule et affiche P et M, sinon affiche un message d’avertissement.
Exercice 8
Ecrire un programme Python qui calcule et affiche le périmètre et l’aire d’un rectangle de rayon
quelconque.
M. BANDOUZI BIKOUTA M. C. Page 1 sur 6
PYTHON AVANCE
TP N°2
Exercice : 1
Écrivez un programme qui propose le menu suivant à l’utilisateur :
Pour des calculs sur un
- Cercle : appuyer sur C
- Rectangle : appuyer sur R
- Carré : appuyer sur A
Et qui en fonction de la réponse (accepter les minuscules et les majuscules), demande d’entrer
le(s) cotés ou le rayon et par la suite affiche le périmètre et la surface.
Périmètre d’un cercle = 2 pi R
Surface d’un cercle = 2 pi R2
Remarque : Pour déclarer une constance : const double pi=3,1416
Pour calculer R2 écrire R*R
On utilisera l’instruction switch. La variable choix doit être une chance de caractère (String).
EXERCICE 2:
1. Ecrire un programme java qui lit trois notes à partir du clavier, calcule et affiche la moyenne de
ces notes. En fin, il affiche la mention correspondante :
o "Bien" Si la moyenne est >12.
o "Passable" Si la moyenne est comprise entre 10 et 12.
o "Non admis" Si la moyenne est <10.
2. Ecrire un programme qui détermine si un nombre entier est pair ou impair.
3. Écrivez un programme qui demande à l'utilisateur son sexe (M et F) et son Nom et affiche un
message de bienvenue approprié.
Exercice : 3
Ecrivez un programme Python testant la valeur d'une variable température de type int. Selon
la valeur de cette variable, le programme affiche les messages suivants :
Si :
la valeur <0 0 On gele !
0=<valeur <10 Il fait froid, mais c'est supportable
10=< valeur <20 Il ne fait pas très chaud
20=<valeur <=30 Il fait chaud, vive l'ete!
valeur > 100 L'eau bout
sinon A boire!
Exercice : 4
M. BANDOUZI BIKOUTA M. C. Page 2 sur 6
PYTHON AVANCE
Ecrire un programme qui compte de 5 en 5 de 0 jusqu'à 100 puis affiche la somme des nombres
trouvés. On pourra écrire deux versions : l'une utilisant une boucle FOR et l'autre utilisant une
boucle WHILE.
Exercice :5
Ecrire un programme qui place les nombres passés en paramètres dans un tableau, puis calcule
et affiche le minimum, le maximum et la somme de ces nombres.
Exercice :6
Ecrire un programme qui lit le nombre entier entre 1 et 12 passé en paramètre et qui affiche le
nom du mois correspondant. On pourra utiliser un tableau ou l'instruction switch.
TP N°3 : POO
EXERCICE I :
Soit à développer une application pour la gestion d’un stock.
Un article est caractérisé par son numéro de référence, son nom, son prix de vente et une
quantité en stock.
Le stock est représenté par une collection d’articles.
Travail à faire:
Créer la classe article contenant les éléments suivants :
Les attributs/propriétés.
Un constructeur d’initialisation.
La méthode ToString().
Dans la classe Program créer :
Le stock sous forme d'une collection d’articles de votre choix.
Un menu présentant les fonctionnalités suivantes :
1. Rechercher un article par référence.
2. Ajouter un article au stock en vérifiant l’unicité de la référence.
3. Supprimer un article par référence.
4. Modifier un article par référence.
5. Rechercher un article par nom.
M. BANDOUZI BIKOUTA M. C. Page 3 sur 6
PYTHON AVANCE
6. Rechercher un article par intervalle de prix de vente.
7. Afficher tous les articles.
8. Quitter
EXERCICE II
Un parc auto se compose des voitures et des camions qui ont des caractéristiques communes
regroupées dans la classe Véhicule.
Chaque véhicule est caractérisé par son matricule, l’année de son modèle, son prix.
Lors de la création d’un véhicule, son matricule est incrémenté selon le nombre de véhicules
créés.
Tous les attributs de la classe véhicule sont supposés privés. ce qui oblige la création des
accesseurs (get…) et des mutateurs (set….) ou les propriétés.
La classe Véhicule possède également deux méthodes abstraites démarrer () et accélérer() qui
seront définies dans les classes dérivées et qui afficheront des messages personnalisés.
La méthode ToString() de la classe Véhicule retourne une chaîne de caractères qui contient les
valeurs du matricule, de l’année du modèle et du prix.
Les classes Voiture et Camion étendent la classe Véhicule en définissant concrètement les
méthodes accélérer() et démarrer() en affichant des messages personnalisés.
Travail à faire:
Créer la classe abstraite Véhicule.
Créer les classes Camion et Voiture.
Créer une classe Test qui permet de tester la classe Voiture et la classe Camion
EXERCICE III
1. Définir une classe Client avec les attributs suivants : CIN, Nom, Prénom, Tél.
2. Définir à l’aide des propriétés les méthodes d’accès aux différents attributs de la classe.
3. Définir un constructeur permettant d’initialiser tous les attributs.
4. Définir un constructeur permettant d’initialiser le CIN, le nom et le prénom.
5. Définir la méthode Afficher ( ) permettant d’afficher les informations du Client en cours.
6. Créer Une classe Compte caractérisée par son solde et un code qui est incrémenté lors de sa
création ainsi que son propriétaire qui représente un client.
7. Définir à l’aide des propriétés les méthodes d’accès aux différents attributs de la classe (le
numéro de compte et le solde sont en lecture seule)
M. BANDOUZI BIKOUTA M. C. Page 4 sur 6
PYTHON AVANCE
8. Définir un constructeur permettant de créer un compte en indiquant son propriétaire.
9. Ajouter à la classe Compte les méthodes suivantes :
Une méthode permettant de Crediter() le compte, prenant une somme en paramètre.
Une méthode permettant de Crediter() le compte, prenant une somme et un compte en
paramètres, créditant le compte et débitant le compte passé en paramètres.
Une méthode permettant de Debiter() le compte, prenant une somme en paramètre
Une méthode permettant de Débiter() le compte, prenant une somme et un compte bancaire en
paramètres, débitant le compte et créditant le compte passé en paramètres
Une méthode qui permet d’afficher le résumé d’un compte.
Une méthode qui permet d’afficher le nombre des comptes crées.
10. Créer un programme de test pour la classe Compte.
Exercice 4. Classe Rectangle :
1. Ecrire une classe Rectangle en langage Python, permettant de construire un rectangle
dotée d'attributs longueur et largeur.
2. Créer une méthode Perimetre() permettant de calculer le périmètre du rectangle et une
méthode Surface() permettant de calculer la surface du rectangle
3. Créer les getters et setters.
4. Créer une classe fille Parallelepipede héritant de la classe Rectangle et dotée en plus
d'un attribut hauteur et d'une autre méthode Volume() permettant de calculer le volume
du Parallélépipède.
Exercice 5. Classe Compte bancaire :
1. Créer une classe Python nommée CompteBancaire qui représente un compte bancaire,
ayant pour attributs : numeroCompte (type numérique ) , nom (nom du propriétaire du
compte du type chaine), solde.
2. Créer un constructeur ayant comme paramètres : numeroCompte, nom, solde.
3. Créer une méthode Versement() qui gère les versements.
4. Créer une méthode Retrait() qui gère les retraits.
5. Créer une méthode Agios() permettant d'appliquer les agios à un pourcentage de 5 %
du solde
6. Créer une méthode afficher() permettant d’afficher les détails sur le compte
7. Donner le code complet de la classe CompteBancaire.
Exercice 6. Classe Cercle
1. Définir une classe Cercle permettant de créer un cercle C(O,r) de centre O(a,b) et de
rayon r à l'aide du constructeur :
M. BANDOUZI BIKOUTA M. C. Page 5 sur 6
PYTHON AVANCE
- Définir une méthode Surface() de la classe qui permet de calculer la surface du cercle
- Définir une méthode Perimetre() de la classe qui permet de calculer le périmètre du
cercle
- Définir une méthode testAppartenance() de la classe qui permet de tester si un point
A(x,y) appartient ou non au cercle C(O,r).
Exercice 7. Classe Calcul arithmétique
1. Créer une classe Calcul ayant un constructeur par défaut (sans paramètres) permettant
d’effectuer différents calculs sur les nombres entiers.
2. Créer au sein de la classe Calcul une méthode nommée Factorielle() qui permet de
calculer le factorielle d'un entier. Tester la méthode en faisant une instanciation sur la
classe.
3. Créer au sein de la classe Calcul une méthode nommée Somme() permettant de calculer
la somme des n premiers entiers: 1 + 2 + 3 + .. + n. Tester la méthode.
4. Créer au sein de la classe Calcul une méthode nommée testPrim() permettant de tester
la primalité d'un entier donné. Tester la méthode.
5. Créer au sein de la classe Calcul une méthode nommée testPrims() permettant de tester
si deux nombres sont premier entre eux.
6. Créer une méthode tableMult() qui crée et affiche la table de multiplication d'un entier
donné. Créer ensuite une méthode allTablesMult() permettant d'afficher toutes les
tables de multiplications des entiers 1, 2, 3, ..., 9.
7. Créer une méthode listDiv() qui récupère tous les diviseurs d'un entier donné sur une
liste Ldiv. Créer une autre méthode listDivPrim() qui récupère tous les diviseurs
premiers d'un entier donné.
Exercice 8
1. Définir une classe Book avec les attributs suivants : Title, Author (Nom complet),
Price.
2. Définir un constructeur ayant comme attributs: Title, Author, Price.
3. Définir la méthode View() pour afficher les informations d'une instance object Book.
4. Ecrire un programme pour tester la classe Book.
TP N°4
Exercice I : Projet sur la gestion des articles (Flux et fichiers)
Exercice II Calcul.
Exercice IV / Projet sur la gestion des élèves (Avec MySQL) / Exercice V
Projet sur la gestion de la bibliothèque (Avec MySQL)
M. BANDOUZI BIKOUTA M. C. Page 6 sur 6