Apprenez en lisant dans l'ordre

Exercices de récap des bases Python — Mets en code ce que tu as appris

Trois exercices de récap des bases Python. Convertis "1995-08-21" avec split et int(), analyse les soumissions par opérations ensemblistes, et compare les références entre affectation et copy().

Problème 1 : analyser une chaîne de date et la reformater

Prends une chaîne d'anniversaire birthday et transforme-la en un format plus lisible pour un humain. Découpe la chaîne, convertis chaque morceau en entier avec int(), puis recompose le résultat avec une f-string.

Comment découper une chaîne et la convertir en nombres
"1995-08-21"chaîne d'origine["1995", "08", "21"]résultat de split("-")1995 / 8 / 21converti avec int()"21 août 1995"formaté avec f-stringsplitintf-string
Découpe en une liste à 3 éléments, puis int() pour enlever les zéros initiaux. Enfin, construis le résultat avec une f-string.

Prends la chaîne birthday = "1995-08-21" et construis une chaîne de date lisible au format 21 août 1995.

Fais en sorte que le jour ne garde pas son zéro initial (08 doit apparaître comme 8).

Éditeur Python

Exécuter le code pour voir le résultat

Problème 2 : comparer des soumissions avec des opérations ensemblistes

Tu veux comparer qui a rendu le devoir A et qui a rendu le devoir B. Avec les opérations ensemblistes, tu peux extraire les personnes qui ont rendu les deux et celles qui n'en ont rendu qu'un seul en une seule ligne chacun.

Comment & et ^ produisent des résultats différents à partir de set_a et set_b
set_a{Alice, Bob, Carol, Dave}set_b{Bob, Carol, Eve}{Bob, Carol}{Alice, Dave, Eve}set_a & set_bset_a ^ set_b
Les deux ensembles alimentent la même opération ; le label de la flèche indique l'opération, et la pointe de la flèche montre ce qui sort.

Les personnes qui ont rendu le devoir A sont submitted_a = ["Alice", "Bob", "Carol", "Dave"], et celles qui ont rendu le devoir B sont submitted_b = ["Bob", "Carol", "Eve"].

À partir de ces deux listes, trouve les personnes qui ont rendu les deux et celles qui n'en ont rendu qu'un seul, puis affiche chaque résultat sous forme de liste triée par ordre alphabétique.

Éditeur Python

Exécuter le code pour voir le résultat

Problème 3 : voir comment fonctionne réellement la mutabilité

Tu crois avoir copié une liste dans une nouvelle variable, mais les deux pointent en réalité vers le même objet — c'est le piège classique avec les valeurs mutables en Python. Essaie de modifier l'original après avoir utilisé copy() puis après une simple affectation, et observe ce qui se passe.

L'affectation partage une référence ; copy() crée un nouvel objet
group_a = students(affectation)group_b = students.copy()(copie)Même liste, deux nomsstudents → [A, B]group_a → [A, B]Liste séparéegroup_b → [A, B]Après append("Carol")students → [A, B, Carol]group_a → [A, B, Carol]Pas affecté par appendgroup_b reste [A, B]partagéindépendant
L'affectation donne juste un second nom à la même liste. Modifie l'original plus tard et tu verras le changement à travers les deux noms. copy() construit une liste séparée, donc elle reste intacte.

Cet exercice consiste à observer la différence entre l'affectation et copy(). Construis une liste students avec deux noms, puis crée deux autres variables — l'une affectée directement depuis students (group_a) et l'autre créée avec copy() (group_b).

Ensuite, ajoute un troisième élève à students et affiche students, group_a et group_b dans l'ordre pour voir si le nouvel élève apparaît dans chacun.

Éditeur Python

Exécuter le code pour voir le résultat

Bravo d'avoir tenu jusqu'ici

Cela conclut les bases Python. Tu as couvert les variables et les types de données, comment choisir entre chaînes, listes, dicts et sets, et l'affectation vs copy() pour les valeurs mutables — à peu près tous les outils dont tu as besoin pour manipuler des données au quotidien. De l'affichage de valeurs simples à la combinaison de types et la transformation de données, tu peux maintenant écrire et exécuter ces programmes par toi-même.

Le chapitre suivant, Syntaxe Python, introduit le flux de contrôle que tu utilises pour piloter un programme : if, for, while, plus les définitions de fonctions avec def / lambda, les compréhensions de liste, les décorateurs, les générateurs et la gestion d'exceptions avec try / except.