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
Utilise urllib.request pour recuperer https://jsonplaceholder.typicode.com/users/1 et affiche le nom et l'email de l'utilisateur.
~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 [['Alice',25,'Paris'],['Bob',30,'Lyon'],['Charlie',35,'Paris']], lis-le avec csv.reader et 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+4 →