DÉFIS
Chaque défi est inutile. Aucun n'est une perte de temps : on code pour le plaisir et on apprend pour de vrai.
6 défis
- FacileIdiomes
Liste des pairs via list comprehension
Construire la liste de tous les entiers pairs entre 0 et 20 inclus en utilisant une seule list comprehension.
pythonDébutant#python#list-comprehension10 minmai 2026 - DifficileIdiomes
Classe itérable Fibonacci avec __iter__ / __next__
Implémenter une classe Fibonacci qui produit les termes de la suite à l'infini, puis utiliser itertools.islice pour extraire les 10 premiers termes.
pythonAvancé#python#iterateurs45 minmai 2026 - FacileIdiomes
Compter les fréquences de mots avec un dict
Calculer le nombre d'occurrences de chaque mot d'une phrase et afficher le résultat trié alphabétiquement par clé.
pythonDébutant#python#dict15 minmai 2026 - FacileIdiomes
Échanger deux variables sans temporaire
Lire deux entiers, les échanger grâce à l'unpacking tuple de Python, puis afficher les valeurs échangées.
pythonDébutant#python#tuple5 minmai 2026 - MoyenIdiomes
Écrire un décorateur qui mesure le temps d'exécution
Implémenter un décorateur @chrono qui affiche sur stderr le temps d'exécution de la fonction décorée en millisecondes.
pythonIntermédiaire#python#decorateurs30 minmai 2026 - MoyenIdiomes
Écrire un context manager pour un fichier temporaire
Implémenter une classe Python avec __enter__ et __exit__ qui crée un fichier temporaire à l'entrée et le supprime automatiquement à la sortie du bloc with.
pythonIntermédiaire#python#context-manager30 minmai 2026
D'abord, faire marcher
On ne cherche pas à optimiser : d'abord, on fait marcher le truc. Optimiser vient ensuite — et ça aussi, ça s'apprend. (Si un défi porte sur l'optimisation, son énoncé le précise.)
Pas de mauvaise réponse
Il n'y a pas de mauvaise réponse à un défi. Le but, c'est de le faire. Ce qui compte, c'est de s'entraîner.
Trop dur ? Au suivant
Un défi te résiste ? N'hésite pas à en prendre un autre. Ils seront encore là demain.