Exercices POO Classe complete : Carnet de contacts
🎉

Bravo!

Avancé 🧠 Fondamentaux 30 XP 0 personnes ont réussi

Classe complete : Carnet de contacts

On va construire un petit carnet de contacts, un cas realiste qui combine tout ce qu'on a vu : classes, attributs, méthodes, __str__, et interaction entre objets.

Tu vas créer deux classes :

1. Contact avec nom, email, et telephone
- __str__ qui renvoie 'nom (email)'

2. Carnet qui gere une liste de contacts
- ajouter(contact) : ajoute un contact
- trouver(nom) : renvoie le premier contact avec ce nom, ou None
- supprimer(nom) : supprime le premier contact avec ce nom, renvoie True si trouve, False sinon
- tous() : renvoie la liste de tous les contacts

Exemple :
c = Carnet()
c.ajouter(Contact('Alice', 'alice@mail.com', '0601'))
c.ajouter(Contact('Bob', 'bob@mail.com', '0602'))
contact = c.trouver('Alice')
str(contact) renvoie 'Alice (alice@mail.com)'
c.supprimer('Alice') renvoie True
len(c.tous()) renvoie 1

Tests (3/5)

Ajouter et trouver
c = Carnet()
c.ajouter(Contact('Alice', 'a@b.com', '06'))
assert c.trouver('Alice') is not None
assert str(c.trouver('Alice')) == 'Alice (a@b.com)'
Trouver inexistant
c = Carnet()
assert c.trouver('Bob') is None
Supprimer
c = Carnet()
c.ajouter(Contact('Alice', 'a@b.com', '06'))
assert c.supprimer('Alice') == True
assert len(c.tous()) == 0

+ 0 tests cachés

Indices (3 disponibles)

solution.py