100 exercices · testeur IA intégré

🐍 Python — De zéro à Data Science

1 exercice/jour. Éditeur intégré, simulation de sortie, correction par IA.

~10 min/ex
Bases
Variables, types, print, conditions, boucles
~15 min/ex
Structures
Listes, tuples, dicts, sets, comprehensions
~20 min/ex
Fonctions & POO
Fonctions, decorators, classes, héritage
~25 min/ex
Fichiers & Data
I/O, JSON, CSV, regex, exceptions
~20–30 min/ex
NumPy
Arrays, operations, broadcasting, stats
~20–25 min/ex
Pandas
Series, DataFrames, nettoyage, merge, groupby
~20–25 min/ex
Visualisation
Matplotlib, Seaborn, graphiques avancés
~25 min/ex
Stats & Proba
Descriptives, distributions, tests, corrélation
~25–30 min/ex
Machine Learning
scikit-learn: régression, classification, clustering
~30 min/ex
Projets
Pipeline complet: data → model → évaluation
1
Hello World
Affiche 'Hello, World!' avec print()
~10 minVariables & Print
2
Variables texte
Crée une variable `nom` contenant 'Alice' et affiche 'Bonjour, Alice!'
~10 minVariables & Print
3
Variables numériques
Crée `age = 25` et `ville = 'Paris'`, puis affiche : J'ai 25 ans et j'habite à Paris
~10 minVariables & Print
4
Opérations mathématiques
Calcule et affiche : 17 + 3, 50 - 8, 6 * 7, 100 / 4
~10 minOpérations
5
Variables et formatage
Cree une variable prenom avec la valeur "Alice" puis affiche "Bienvenue, Alice!" avec print().
~10 minVariables
6
Condition if/else
Si age >= 18 affiche 'Majeur', sinon 'Mineur'
~10 minConditions
7
Elif
Note: A(>=16), B(>=12), C(>=8), D(<8)
~10 minConditions
8
Boucle for
Affiche les chiffres de 1 à 5
~10 minBoucles
9
Boucle while
Compte de 0 à 4 avec while
~10 minBoucles
10
Listes
Crée la liste `fruits = ['pomme', 'banane', 'cerise', 'datte', 'kiwi']` et affiche chacun avec une boucle
~10 minListes
11
Index de liste
Accède au 1er et dernier élément d'une liste
~10 minListes
12
Méthodes de liste
Ajoute 'mangue' à la liste, puis supprime 'banane'
~10 minListes
13
Dictionnaires
Crée un dictionnaire `personne = {'nom': 'Alice', 'age': 28, 'ville': 'Lyon'}` et affiche le nom puis l'age
~10 minDictionnaires
14
Parcourir un dict
Affiche chaque clé et valeur du dictionnaire
~10 minDictionnaires
15
Fonctions basiques
Crée une fonction `saluer(nom)` qui retourne 'Bonjour, [nom]!' puis appelle-la avec 'Marie'
~10 minFonctions
16
Fonctions avec calcul
Fonction `aire_rectangle(l, h)` qui retourne l * h
~15 minFonctions
17
Valeurs par défaut
Fonction `puissance(n, exp=2)` qui retourne n^exp
~15 minFonctions
18
Strings - méthodes
Avec la phrase 'La data est partout', affiche-la en majuscules, en minuscules, et compte les 'a'
~15 minStrings
19
Split et join
Découpe 'python,sql,data' par virgule et reconstitue avec ' - '
~15 minStrings
20
List comprehension
Crée la liste des carrés de 1 à 10 en une ligne avec une list comprehension, puis affiche-la
~15 minList Comprehension
21
Filtrer avec comprehension
Liste des nombres pairs de 0 à 20 avec comprehension
~15 minList Comprehension
22
Lambda
Créez une fonction lambda qui multiplie par 3
~15 minFonctions avancées
23
Map et filter
Appliquer triple à [1,2,3,4,5], puis garder seulement > 10
~15 minFonctions avancées
24
Tuples
Crée le tuple `coords = (48.8566, 2.3522)` (coordonnées de Paris), déballe-le dans `lat` et `lon`, et affiche-les
~15 minStructures de données
25
Sets
Crée les sets `groupe_a = {'Alice', 'Bob', 'Charlie', 'Diana'}` et `groupe_b = {'Bob', 'Diana', 'Eve', 'Frank'}`, puis affiche les éléments communs Affiche le resultat trie avec sorted().
~15 minStructures de données
26
Gestion d'erreurs try/except
Divise 10 par 0 en gerant l erreur avec try/except. Affiche le resultat ou "Impossible de diviser par zero!"
~20 minErreurs
27
Lecture de fichier
Ecris 4 prenoms (Alice, Bob, Charlie, Diana) dans /tmp/data.txt, puis relis le fichier et affiche son contenu et le nombre de lignes.
~20 minFichiers
28
Écriture de fichier
Écris la liste `noms = ['Alice', 'Bob', 'Charlie']` dans un fichier 'noms.txt', un nom par ligne
~20 minFichiers
29
JSON
Parse la chaîne JSON `'{"nom": "Alice", "age": 28, "skills": ["Python", "SQL"]}'` et affiche le nom et les skills
~20 minJSON
30
Classes - bases
Crée une classe `Etudiant` avec `nom` et `note`. Ajoute une méthode `mention()` : 'TB' si note>=16, 'B' si >=14, 'AB' si >=12, sinon 'Passable'. Teste avec Etudiant('Alice', 16) et Etudiant('Bob', 11)
~20 minPOO
31
Numpy - array
Créez un array numpy de 1 à 10, calculez sa moyenne
~20 minNumPy
32
Numpy - opérations
Multipliez chaque élément par 2, filtrez ceux > 10
~20 minNumPy
33
Pandas - DataFrame
Créez un DataFrame de 3 étudiants (nom, note, ville)
~20 minPandas
34
Pandas - filtres
Sélectionnez les étudiants avec note > 12
~20 minPandas
35
Pandas - groupby
Calculez la note moyenne par ville
~20 minPandas
36
Pandas - nettoyage
Remplacez les NaN par la moyenne de la colonne
~25 minPandas
37
Matplotlib - courbe
Tracez la courbe y = x² pour x de -10 à 10
~25 minVisualisation
38
Matplotlib - histogramme
Générez 1000 données normales et tracez l'histogramme
~25 minVisualisation
39
Statistiques descriptives
Calculez mean, median, std, min, max d'une série de données
~25 minStatistiques
40
Corrélation
Calculez la corrélation entre heures d'étude et notes
~25 minStatistiques
41
Récursivité - factorielle
Calculez n! avec une fonction récursive
~25 minAlgorithmique
42
Récursivité - Fibonacci
Suite de Fibonacci jusqu'à n termes
~25 minAlgorithmique
43
Tri - bubble sort
Implémentez le tri à bulles
~25 minAlgorithmique
44
Recherche binaire
Implémentez la recherche binaire dans une liste triée
~25 minAlgorithmique
45
Décorateurs
Cree un decorateur @timer qui mesure le temps d'execution d'une fonction (sans l'afficher). Teste avec une fonction qui calcule sum(range(1000000)) et affiche le resultat.
~25 minDécorateurs
46
Générateurs
Créez un générateur de nombres pairs infinis
~30 minGénérateurs
47
Pandas - pivot table
Crée un DataFrame de ventes (colonnes: region, produit, montant) et génère une table pivot avec les régions en index et les produits en colonnes
~30 minPandas avancé
48
Regex
Extrais tous les emails du texte `"Contact alice@beauvoir.co ou bob@data.fr pour plus d'info"` avec un regex
~30 minRegex
49
API REST
Une API REST renvoie ses données au format JSON. Parse la chaîne JSON fournie (variable reponse) avec json.loads, puis affiche le name de l'utilisateur, puis son email (chacun sur une ligne).
~30 minAPI
50
Machine Learning basique
Entraînez une régression linéaire sur des données simples
~30 minMachine Learning
51
NumPy — Créer des arrays
Crée un array NumPy et explore ses propriétés (shape, dtype, ndim)
~20 minNumPy
52
NumPy — Opérations
Effectue des opérations arithmétiques element-wise sur des arrays
~20 minNumPy
53
NumPy — Broadcasting
Comprends le broadcasting : opérations entre arrays de tailles différentes
~20 minNumPy
54
NumPy — Statistiques
Calcule des statistiques descriptives avec NumPy
~20 minNumPy
55
NumPy — Reshape & Slicing
Redimensionne et découpe des arrays avec reshape et slicing
~20 minNumPy
56
NumPy — Algèbre linéaire
Utilise np.linalg pour le produit matriciel, le déterminant et l'inverse
~25 minNumPy
57
NumPy — Random
Génère des nombres aléatoires et des échantillons avec np.random
~25 minNumPy
58
NumPy — Indexation avancée
Utilise le fancy indexing et l'indexation booléenne
~25 minNumPy
59
NumPy — Masks booléens
Filtre et remplace des valeurs avec des conditions booléennes
~25 minNumPy
60
NumPy — Vectorisation
Remplace les boucles par des opérations vectorisées
~25 minNumPy
61
Pandas — Series
Crée et manipule des Series Pandas
~20 minPandas
62
Pandas — DataFrame
Crée un DataFrame avec les colonnes 'nom, age, ville et salaire' (['Paris','Lyon','Paris','Marseille']). Affiche le DataFrame puis sa forme (shape)
~20 minPandas
63
Pandas — Sélection
Sélectionne des lignes et colonnes avec loc et iloc
~20 minPandas
64
Pandas — Info & Describe
Explore un DataFrame avec info(), describe(), value_counts()
~20 minPandas
65
Pandas — Nettoyage
Crée un DataFrame avec des valeurs manquantes (NaN) et des doublons. Utilise dropna(), fillna() et drop_duplicates() pour nettoyer
~20 minPandas
66
Pandas — Filtrage avancé
Filtre un DataFrame avec des conditions complexes
~25 minPandas
67
Pandas — Tri & Ranking
Trie un DataFrame et crée des classements
~25 minPandas
68
Pandas — GroupBy
Agrège des données avec groupby()
~25 minPandas
69
Pandas — Merge
Fusionne deux DataFrames avec merge()
~25 minPandas
70
Pandas — Pivot Table
Crée des tableaux croisés dynamiques
~25 minPandas
71
Matplotlib — Line Plot
Crée un graphique en ligne avec matplotlib
~20 minVisualisation
72
Matplotlib — Bar Chart
Crée un diagramme en barres
~20 minVisualisation
73
Matplotlib — Scatter Plot
Crée un nuage de points pour visualiser la corrélation
~20 minVisualisation
74
Matplotlib — Histogramme
Visualise la distribution de données avec un histogramme
~20 minVisualisation
75
Matplotlib — Subplots
Crée plusieurs graphiques dans une seule figure
~20 minVisualisation
76
Stats — Descriptives Python
Calcule les stats descriptives (moyenne, médiane, écart-type, quartiles) d'une série de données avec scipy et numpy
~25 minStatistiques
77
Stats — Distributions
Travaille avec des distributions de probabilité
~25 minStatistiques
78
Stats — Test d'hypothèse
Réalise un t-test et interprète la p-value
~25 minStatistiques
79
Stats — Corrélation
Calcule et visualise la corrélation entre variables
~25 minStatistiques
80
Stats — Intervalle de confiance
Calcule un intervalle de confiance pour une moyenne
~25 minStatistiques
81
ML — Train/Test Split
Divise un dataset en ensembles d'entraînement et de test
~25 minMachine Learning
82
ML — Régression Linéaire
Entraîne un modèle de régression linéaire avec scikit-learn
~25 minMachine Learning
83
ML — Classification
Entraîne un classifieur logistique
~25 minMachine Learning
84
ML — Métriques
Évalue un modèle avec précision, rappel, F1-score
~25 minMachine Learning
85
ML — Cross Validation
Évalue un modèle avec la validation croisée
~25 minMachine Learning
86
ML — KNN
Implémente le K-Nearest Neighbors
~30 minMachine Learning
87
ML — Decision Tree
Entraîne un arbre de décision et analyse son importance
~30 minMachine Learning
88
ML — Random Forest
Compare Random Forest vs Decision Tree
~30 minMachine Learning
89
ML — Clustering KMeans
Segmente des données avec K-Means
~30 minMachine Learning
90
ML — Pipeline
Crée un pipeline complet avec preprocessing et modèle
~30 minMachine Learning
91
Regex en Python
Utilise les regex pour extraire les emails du texte `'Contact: alice@email.com ou bob.martin@company.fr'` puis valide un format de numéro de téléphone
~25 minData Engineering
92
JSON en Python
Crée un dictionnaire de 2 utilisateurs (Alice, 25 ans, scores [85,90,78] et Bob, 30 ans, scores [92,88,95]), sérialise en JSON et désérialise
~25 minData Engineering
93
Gestion d'erreurs
Gère les exceptions avec try/except/finally
~25 minData Engineering
94
Fichiers CSV
Crée un fichier CSV avec les données (nom, age, ville) pour Alice, Bob et Charlie, écris-le avec csv.writer, relis-le avec csv.DictReader, puis relis-le aussi avec pandas.
~25 minData Engineering
95
Decorateurs
Cree un decorateur @timer qui mesure le temps d'execution. Teste avec une fonction qui calcule la somme des carres de 0 a 99999 et affiche le resultat.
~25 minData Engineering
96
Projet — Nettoyage de données
Pipeline complet de nettoyage de données
~30 minProjets
97
Projet — EDA
Analyse exploratoire de données complète
~30 minProjets
98
Projet — Feature Engineering
Crée de nouvelles features pour améliorer un modèle
~30 minProjets
99
Projet — Évaluation de modèle
Compare LogisticRegression, DecisionTreeClassifier, RandomForestClassifier et KNeighborsClassifier sur le dataset Iris. Affiche l'accuracy de chaque modele.
~30 minProjets
100
Projet — ML Pipeline complet
De la donnée brute à la prédiction : pipeline ML end-to-end
~30 minProjets

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →