Exercices⚓︎
Exercice 1
- Écrire une classe
Eleve
qui contiendra les attributsnom
,classe
etnote
. - Instancier trois élèves de cette classe.
- Écrire une fonction
compare(eleve1, eleve2)
qui renvoie le nom de l'élève ayant la meilleure note (on ne traitera pas à part le cas d'égalité).
Exemple d'utilisation de la classe
>>> riri = Eleve("Henri", "TG2", 12)
>>> fifi = Eleve("Philippe", "TG6", 15)
>>> loulou = Eleve("Louis", "TG1", 8)
>>> compare(riri, fifi)
'Philippe'
1 2 3 4 5 6 7 8 9 10 11 |
|
Exercice 2
Écrire une classe TriangleRect
qui contiendra les attributs cote1
, cote2
et hypotenuse
.
La méthode constructeur ne prendra en paramètres que cote1
et cote2
, l'attribut hypotenuse
se calculera automatiquement.
Exemple d'utilisation de la classe
>>> mon_triangle = TriangleRect(3,4)
>>> mon_triangle.cote1
3
>>> mon_triangle.cote2
4
>>> mon_triangle.hypotenuse
5.0
1 2 3 4 5 |
|
Exercice 3
- Écrire une classe
Chrono
qui contiendra les attributsheures
,minutes
etsecondes
. - Doter la classe d'une méthode
affiche()
qui fera affichera le tempst
. - Doter la classe d'une méthode
avance(s)
qui fera avancer le tempst
des
secondes.
Exemple d'utilisation de la classe
>>> t = Chrono(17,25,38)
>>> t.heures
17
>>> t.minutes
25
>>> t.secondes
38
>>> t.affiche()
'Il est 17 heures, 25 minutes et 38 secondes'
>>> t.avance(27)
>>> t.affiche()
'Il est 17 heures, 26 minutes et 5 secondes'
Aide
On pourra utiliser les opérateurs :
%
, qui calcule le reste d'une division euclidienne.//
, qui calcule le quotient d'une division euclidienne.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
Exercice 4
Écrire une classe Player
qui :
- ne prendra aucun argument lors de son instanciation.
- affectera à chaque objet créé un attribut
energie
valant 3 par défaut. - affectera à chaque objet créé un attribut
alive
valantTrue
par défaut. - fournira à chaque objet une méthode
blessure()
qui diminue l'attributenergie
de 1. - fournira à chaque objet une méthode
soin()
qui augmente l'attributenergie
de 1. - si l'attribut
energie
passe à 0, l'attributalive
doit passer àFalse
et ne doit plus pouvoir évoluer.
Exemple d'utilisation de la classe
>>> mario = Player()
>>> mario.energie
3
>>> mario.soin()
>>> mario.energie
4
>>> mario.blessure()
>>> mario.blessure()
>>> mario.blessure()
>>> mario.alive
True
>>> mario.blessure()
>>> mario.alive
False
>>> mario.soin()
>>> mario.alive
False
>>> mario.energie
0
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
À faire sur Capytale : activité 2ef0-54279
Exercice 5
Créer une classe CompteBancaire
dont la méthode constructeur recevra en paramètres :
- un attribut
titulaire
stockant le nom du propriétaire. - un attribut
solde
contenant le solde disponible sur le compte.
Cette classe contiendra deux méthodes retrait()
et depot()
qui permettront de retirer ou de déposer de l'argent sur le compte.
Exemple d'utilisation de la classe
>>> compteGL = CompteBancaire("G.Lassus", 1000)
>>> compteGL.retrait(50)
Vous avez retiré 50 euros
Solde actuel du compte : 950 euros
>>> compteGL.retrait(40000)
Retrait impossible
>>> compteGL.depot(10000000)
Vous avez déposé 10000000 euros
Solde actuel du compte : 10000950 euros
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
Exercice 6
Exercice 32.2 de la BNS 2023.
Exercice 7
Exercice 2 Partie A du sujet Métropole Septembre 2022
Correction Q1.a
La liste v
contient 5 éléments.
Correction Q1.b
v[1].nom()
renvoie Les goélands
.
la classe Villa
possède un attribut nom
ET une méthode nom()
. Ceci est affreux et provoquerait une erreur lors de l'appel à la méthode nom()
.
Correction Q1.c
def surface(self):
return self.sejour.sup + self.ch1.sup + self.ch2.sup
Correction Q2
for villa in v:
if villa.eqCuis == "eq":
print(villa.nom)
ou bien
for villa in v:
if villa.equip() == "eq":
print(villa.nom)
Exercice 8
Exercice 5 du sujet Métropole J1 2022
Correction Q1
Instruction 3 : joueur1 = Joueur("Sniper", 319, "A")
Correction Q2.a
1 2 3 |
|
1 2 3 |
|
Correction Q2.b
1 2 |
|
Correction Q3.a
Le test est le test 1.
Correction Q3.b
Si un joueur a été touché par un tir allié, son score diminue de 20 points.
Correction Q4
1 2 |
|
1 2 |
|
Exercice 9
Exercice 2 du sujet La Réunion J1 2022
Correction Q1.a
1 2 3 4 |
|
Correction Q1.b
1 2 3 4 |
|
Correction Q2
1 2 |
|
Correction Q3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|