Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
CRUD sur une table
CRUD, c'est l'acronyme des quatre opérations de base sur une base de données : Create, Read, Update, Delete. Pratiquement toute application web tourne autour de ces quatre actions.
Tu vas simuler une table de base de données avec une liste de dictionnaires. Chaque enregistrement a un identifiant unique (id) qui s'auto-incremente.
Écris une classe Table avec : - insérer(enregistrement) : ajoute un dict avec un id auto-incremente, retourne l'enregistrement - lire(id) : retourne l'enregistrement correspondant ou None - tous() : retourne la liste de tous les enregistrements - supprimer(id) : supprime l'enregistrement, retourne True si trouve, False sinon
Exemple : t = Table() t.insérer({'nom': 'Alice'}) t.lire(1) renvoie {'nom': 'Alice', 'id': 1}
Tests (2/4)
Inserer et lire
t = Table()
t.insérer({'nom': 'Alice'})
assert t.lire(1)['nom'] == 'Alice'
Supprimer
t = Table()
t.insérer({'nom': 'Bob'})
assert t.supprimer(1) == True
assert t.lire(1) is None
+ 0 tests cachés
Indices (3 disponibles)
Solution officielle
class Table:
def __init__(self):
self._data = []
self._next_id = 1
def inserer(self, enregistrement):
enregistrement['id'] = self._next_id
self._next_id += 1
self._data.append(enregistrement)
return enregistrement
def lire(self, id):
for e in self._data:
if e['id'] == id:
return e
return None
def tous(self):
return list(self._data)
def supprimer(self, id):
for i, e in enumerate(self._data):
if e['id'] == id:
self._data.pop(i)
return True
return False