Exercices de Code

Pratique Python, IA Engineering et bien plus avec des exercices interactifs et des tests automatiques.

Tous niveaux Debutant Intermediaire Avance
Tous les sujets Les Bases Python (71) Structures de données (40) Fonctions & Modules (106) POO (53) Architecture & Patterns (57) Algorithmes (47) Concepts Web & Django (50) IA & Data Science (22) Prompt Engineering (15) Projets guidés (81) Django Avancé (18) AI Engineering (19) Machine Learning (30) Entraîner son LLM (15) Computer Vision (18)

Suivre un parcours

Python Fondamental 3 sections
Developpeur Python 6 sections
Algorithmes & Entretiens 3 sections
Web & Django 4 sections
IA & Machine Learning 4 sections
IA Generative & RAG 5 sections
Automatisation & Scripts 5 sections
Neurosciences & IA 5 sections
Vision par Ordinateur 4 sections
Intermédiaire 🧠 Fondamentaux Fonctions & Modules GRATUIT

Exception personnalisee

Dans un projet sérieux, les erreurs génériques comme ValueError ne suffisent pas. Tu veux des exceptions métier qui disent clairement ce qui ne va pas …

20 XP 0 réussites
Résoudre →
exception raise classe
Intermédiaire 🧠 Fondamentaux Fonctions & Modules

Convertisseur robuste

Quand tu importes des données d'un fichier CSV ou d'un formulaire web, les valeurs arrivent sous forme de texte et certaines sont invalides : cellules …

20 XP 0 réussites
Résoudre →
try except conversion
Intermédiaire 🧠 Fondamentaux Fonctions & Modules GRATUIT

Regex : extraire des emails

Les expressions régulières (regex) sont un outil incontournable pour extraire des informations d'un texte : emails, numéros de téléphone, URLs, codes postaux. Le module re …

20 XP 0 réussites
Résoudre →
regex re email
Intermédiaire 🧠 Fondamentaux Fonctions & Modules GRATUIT

JSON serialisation

JSON est LE format d'échange de données sur le web. Chaque API que tu appelleras renvoie du JSON, et chaque fichier de configuration moderne est …

20 XP 0 réussites
Résoudre →
json dumps loads
Intermédiaire 🧠 Fondamentaux Fonctions & Modules

Counter le plus frequent

Trouver les éléments les plus fréquents d'une collection, c'est un besoin classique : les mots-clés les plus recherchés, les erreurs les plus courantes, les produits …

20 XP 0 réussites
Résoudre →
Counter most_common frequence
Intermédiaire 🧠 Fondamentaux Fonctions & Modules

Date et formatage

Calculer le nombre de jours entre deux dates, c'est un besoin concret : délai de livraison, durée d'un abonnement, âge d'un compte utilisateur. Le module …

20 XP 0 réussites
Résoudre →
datetime date timedelta
Intermédiaire 🧠 Fondamentaux Fonctions & Modules GRATUIT

Transformer une liste JSON

Les API renvoient souvent des listes d'objets JSON : une liste d'utilisateurs, de produits, de transactions. Savoir les désérialiser puis les filtrer avec une compréhension …

20 XP 0 réussites
Résoudre →
json filter list comprehension
Intermédiaire 🧠 Fondamentaux Fonctions & Modules

Fusionner des objets JSON

En pratique, tu reçois souvent des données de sources différentes qu'il faut combiner : une configuration par défaut avec les préférences utilisateur, un profil de …

20 XP 0 réussites
Résoudre →
json merge unpacking
Intermédiaire 🧠 Fondamentaux Fonctions & Modules GRATUIT

Closure : fabrique de compteur

Les closures sont partout dans le code Python moderne : dans les décorateurs, les callbacks, les factories de fonctions. Une closure, c'est une fonction interne …

20 XP 0 réussites
Résoudre →
closure compteur nonlocal
Intermédiaire 🧠 Fondamentaux Fonctions & Modules GRATUIT

Decorateur de log

Le logging est essentiel en production : savoir quelle fonction a été appelée, avec quels arguments, et quand. Un décorateur de log automatise ça sans …

20 XP 0 réussites
Résoudre →
decorateur wraps functools
Intermédiaire 🧠 Fondamentaux Fonctions & Modules

*args et **kwargs

Quand tu crées des fonctions utilitaires ou des wrappers génériques, tu veux souvent accepter n'importe quel nombre d'arguments sans les connaître à l'avance. C'est le …

20 XP 0 réussites
Résoudre →
args kwargs sum
Intermédiaire 🧠 Fondamentaux Fonctions & Modules GRATUIT

Protocole iterateur

Quand tu écris for x in quelque_chose, Python appelle en coulisses deux méthodes spéciales : __iter__() et __next__(). Comprendre ce protocole, c'est comprendre comment fonctionnent …

20 XP 0 réussites
Résoudre →
iterateur __iter__ __next__
Intermédiaire 🧠 Fondamentaux Fonctions & Modules

itertools.chain

itertools est la boîte à outils du développeur Python performant. chain() est le plus simple : il enchaîne plusieurs itérables en un seul flux, sans …

20 XP 0 réussites
Résoudre →
itertools chain concatener
Intermédiaire 🧠 Fondamentaux Fonctions & Modules

Générateur infini tronque

En Python, tu peux créer une source infinie de données avec while True et yield, puis en prendre juste ce dont tu as besoin avec …

20 XP 0 réussites
Résoudre →
yield itertools islice
Intermédiaire 🧠 Fondamentaux Fonctions & Modules

Fabrique de fonctions

Une fonction peut renvoyer une autre fonction. On appelle parfois ca une fabrique de fonctions (function factory). C'est comme un atelier qui produit des outils …

20 XP 0 réussites
Résoudre →
fabrique lambda higher-order
Intermédiaire 🧠 Fondamentaux Fonctions & Modules

Calculer une taxe avec une fonction

Voici un cas concret de higher-order function. Imagine que tu dois calculer la taxe sur un salaire, mais la méthode de calcul peut varier. Plutot …

20 XP 0 réussites
Résoudre →
higher-order stratégie math
Intermédiaire 🧠 Fondamentaux Fonctions & Modules

Fonction pure vs impure

Un concept fondamental en programmation fonctionnelle est la notion de fonction pure. Une fonction pure a deux propriétés : 1. Pour les memes arguments, elle …

20 XP 0 réussites
Résoudre →
fonction-pure immutabilite higher-order
Intermédiaire 🧠 Fondamentaux Fonctions & Modules

Première closure

Une closure (fermeture en francais), c'est une fonction qui se souvient de l'environnement dans lequel elle a ete créée, meme apres que cet environnement a …

20 XP 0 réussites
Résoudre →
closure nonlocal intermediaire
Intermédiaire 🧠 Fondamentaux Fonctions & Modules

Closure avec historique

Les closures peuvent capturer n'importe quel type de donnee, pas seulement des nombres. On peut s'en servir pour créer des fonctions avec de la mémoire. …

20 XP 0 réussites
Résoudre →
closure mémoire accumulateur
Intermédiaire 🧠 Fondamentaux Fonctions & Modules

Première fonction curriee

Le currying (du nom du mathematicien Haskell Curry) est une technique qui transforme une fonction a plusieurs paramètres en une chaine de fonctions a un …

20 XP 0 réussites
Résoudre →
currying lambda intermediaire
Intermédiaire 🧠 Fondamentaux Fonctions & Modules

Convertisseur de devises currie

Voici un cas reel de currying : les conversions de devises. Tu as une fonction générique qui convertit un montant selon un taux. Plutot que …

20 XP 0 réussites
Résoudre →
currying devises cas-reel
Intermédiaire 🧠 Fondamentaux Fonctions & Modules

try/except/else/finally

Le try/except peut avoir deux blocs supplémentaires : else : exécute seulement si aucune exception n'a ete levee finally : exécute toujours, qu'il y ait …

20 XP 0 réussites
Résoudre →
try except conversion
Intermédiaire 🧠 Fondamentaux Fonctions & Modules GRATUIT

Créer sa propre exception

Tu peux créer tes propres types d'exception en creant une classe qui herite de Exception. Ca te permet d'etre plus precis dans tes messages d'erreur …

20 XP 0 réussites
Résoudre →
exception personnalisee raise
Intermédiaire 🧠 Fondamentaux Fonctions & Modules

Importer dynamiquement

Parfois, tu ne sais pas a l'avance quel module tu veux importer. Le nom du module peut venir d'un fichier de configuration ou d'un choix …

20 XP 0 réussites
Résoudre →
importlib gétattr dynamique
Page 1 / 3 Suivant →