Quiz · Structures de données
0/14 questions réussie
Réponses conservées dans ce navigateur uniquement.
Les questions portent sur la classe CompteBancaire du cours, dans sa
version encapsulée :
class CompteBancaire:
def __init__(self, solde_initial=0):
self._solde = solde_initial
def deposer(self, montant):
if montant <= 0:
raise ValueError("le montant doit être strictement positif")
self._solde = self._solde + montant
def retirer(self, montant):
if montant <= 0:
raise ValueError("le montant doit être strictement positif")
if montant > self._solde:
raise ValueError("solde insuffisant")
self._solde = self._solde - montant
def consulter(self):
return self._solde
c = CompteBancaire(100)
- 1/3 · interface-implementation-c1voir dans le cours
Dans
c = CompteBancaire(100), à quel paramètre du__init__la valeur 100 est-elle passée ? - 2/3 · interface-implementation-c2voir dans le cours
Dans
c.deposer(50), à quoi correspond le paramètreself? - 3/3 · interface-implementation-c3voir dans le cours
Que se passe-t-il à l'exécution de
c.retirer(200)sur un compte au solde 50, dans la version encapsulée ?
- 1/2 · implementer-une-structure-c1voir dans le cours
Dans une file FIFO, le prochain élément à sortir est…
- 2/2 · implementer-une-structure-c2voir dans le cours
Pour défiler avec deux piles, on transvase l'entrée vers la sortie uniquement quand…
- 1/2 · listes-piles-files-dict-c1voir dans le cours
Une structure dans laquelle le dernier ajouté est le premier retiré est…
- 2/2 · listes-piles-files-dict-c2voir dans le cours
Quelle structure offre la recherche par clé en moyen ?
- 1/7 · contrat-tests-assertions-c1voir dans le cours
Pourquoi le test empile-t-il deux éléments avant d'appeler
depiler()? - 2/7 · contrat-tests-assertions-c2voir dans le cours
Quel
assertéprouve la promesse «sommet()ne retire rien » ? - 3/7 · contrat-tests-assertions-c3voir dans le cours
Le jeu de tests, lancé sur une classe dont les méthodes n'ont pas de corps, échoue. Qu'en conclure ?
- 4/7 · contrat-tests-assertions-c4voir dans le cours
PileCpasse le jeu de tests. Qu'en conclure ? - 5/7 · contrat-tests-assertions-c5voir dans le cours
Quand
assert not self.est_vide(), première ligne dedepiler, lève uneAssertionError, qui est mis en cause ? - 6/7 · contrat-tests-assertions-c6voir dans le cours
La ligne
assert p.depiler() == "R", écrite après avoir empilé7puis"R", est… - 7/7 · contrat-tests-assertions-c7voir dans le cours
Remettre dans l'ordre les étapes d'écriture d'une structure à partir de son contrat :
Glisser-déposer pour réordonner (ou utiliser les flèches).
- 1. Écrire la docstring de chaque méthode
- 2. Traduire chaque promesse en assert dans un jeu de tests
- 3. Lancer le jeu de tests sur la classe vide et constater l'échec
- 4. Écrire le corps des méthodes
- 5. Relancer le jeu de tests jusqu'à ce qu'il passe