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
Voir tous les exercices
Avancé 🧠 Fondamentaux Structures de données

Grouper par cle

Regrouper des employés par département, des commandes par client, des logs par niveau de sévérité : c'est une opération que tu feras constamment en tant …

30 XP 0 réussites
Résoudre →
groupby dict avance
Avancé 🧠 Fondamentaux Structures de données

Acces profond

Les réponses d'API et les fichiers de configuration JSON sont souvent imbriqués sur plusieurs niveaux. Accéder à config['database']['postgres']['port'] est fragile : si une clé manque …

30 XP 0 réussites
Résoudre →
dict imbrique split navigation
Avancé 🧠 Fondamentaux Structures de données

Comprehension imbriquée

Les comprehensions peuvent être imbriquées, c'est-à-dire contenir plusieurs boucles for. L'ordre de lecture est le même que si tu écrivais les boucles normalement. Par exemple, …

30 XP 0 réussites
Résoudre →
comprehension imbriquée avancé
Avancé 🧠 Fondamentaux Structures de données

Top N des éléments

Un problème classique en programmation : trouver les N éléments les plus fréquents dans une collection. C'est utilisé partout : les mots les plus cherchés, …

30 XP 0 réussites
Résoudre →
dictionnaire sorted lambda
Avancé 🧠 Fondamentaux Structures de données

Analyse de texte complète

Pour terminer ce chapitre, on va combiner tout ce qu'on a vu : dictionnaires, sets, comprehensions et tuples dans un problème réaliste. Imagine que tu …

30 XP 0 réussites
Résoudre →
dictionnaire set comprehension
Avancé 🧠 Fondamentaux Fonctions & Modules

Composer deux fonctions

En mathematiques, la composition de fonctions c'est appliquer une fonction au résultat d'une autre. Si tu as f et g, la composee f apres g …

30 XP 0 réussites
Résoudre →
composition pipeline avance
Avancé 🧠 Fondamentaux Fonctions & Modules

Créer un decorateur simple

Un decorateur en Python, c'est une higher-order function qui prend une fonction en argument et renvoie une nouvelle fonction enrichie. C'est la combinaison parfaite de …

30 XP 0 réussites
Résoudre →
decorateur higher-order closure
Avancé 🧠 Fondamentaux Fonctions & Modules

Decorateur parametrise : repeter

Jusqu'ici, nos decorateurs ne prenaient pas de paramètres. Mais parfois, tu veux configurer le decorateur. Par exemple, repeter une fonction 3 fois, ou 5 fois, …

30 XP 0 réussites
Résoudre →
decorateur parametrise avance
Avancé 🧠 Fondamentaux Fonctions & Modules

Match case sur des tuples

Le vrai pouvoir du pattern matching, c'est le matching structurel : tu peux matcher sur la structure d'un tuple ou d'une liste et en extraire …

30 XP 0 réussites
Résoudre →
match case tuples
Avancé 🧠 Fondamentaux POO

Override sélectif avec super()

Quand tu surcharges (override) une méthode dans une sous-classe, tu peux quand meme reutiliser la logique du parent avec super(). C'est comme une chaine de …

30 XP 0 réussites
Résoudre →
super override validation
Avancé 🧠 Fondamentaux POO

Mixin sérialisable

Un mixin tres utile en pratique, c'est celui qui permet de convertir un objet en dictionnaire ou en JSON. Ca sert partout : APIs, sauvegarde, …

30 XP 0 réussites
Résoudre →
mixin json sérialisation
Avancé 🧠 Fondamentaux POO

Dataclass avec __post_init__

Parfois, tu as besoin de faire quelque chose juste apres la création de l'objet : valider les données, calculer un champ derive, enregistrer l'objet quelque …

30 XP 0 réussites
Résoudre →
dataclass __post_init__ validation
Avancé 🧠 Fondamentaux POO

Dataclass + Enum combinés

En combinant dataclass et Enum, tu obtiens un typage fort : les champs ne peuvent prendre que des valeurs predefinies. C'est particulierement utile pour modeliser …

30 XP 0 réussites
Résoudre →
dataclass enum combinaison
Avancé 🧠 Fondamentaux Architecture & Patterns

Pattern Observer

L'Observer (ou publish/subscribe) est un pattern ou un objet (le Sujet) maintient une liste d'abonnes (les Observateurs) et les previent automatiquement quand quelque chose se …

30 XP 0 réussites
Résoudre →
observer pattern événements
Avancé 🧠 Fondamentaux Architecture & Patterns

Pattern Strategy

Le pattern Strategy permet de changer d'algorithme a la volee, comme quand tu changes de vitesse en voiture. Le moteur tourne toujours, mais la vitesse …

30 XP 0 réussites
Résoudre →
strategy pattern algorithme
Avancé 🧠 Fondamentaux Architecture & Patterns

Pattern Decorator (wrapper)

Le pattern Decorator (a ne pas confondre avec les decorateurs Python avec @) est un pattern GoF qui permet d'enrichir un objet en l'enveloppant dans …

30 XP 0 réussites
Résoudre →
decorator-pattern wrapper composition
Avancé 🧠 Fondamentaux Architecture & Patterns

OCP : Ouvert/Fermé

Le principe Open/Closed dit qu'un code doit etre ouvert a l'extension mais ferme a la modification. En clair : tu peux ajouter de nouveaux comportements …

30 XP 0 réussites
Résoudre →
SOLID OCP polymorphisme
Avancé 🧠 Fondamentaux Architecture & Patterns

DIP : Inversion des dépendances

Le dernier principe SOLID est l'inversion des dependances (DIP) : les modules de haut niveau ne doivent pas dependre des modules de bas niveau. Les …

30 XP 0 réussites
Résoudre →
SOLID DIP injection-dépendances
Avancé 🧠 Fondamentaux Projets guidés

E-commerce #13 : Assemblage final

C'est le moment d'assembler toutes les pieces ! On crée une fonction qui orchestre tout le processus de commande. La fonction recoit un client, un …

30 XP 0 réussites
Résoudre →
ecommerce assemblage Decimal