Aller au contenu

Exercices Python pour la prépa — CPGE scientifique et ECG

Tout le programme d'informatique commune, exercice par exercice : algorithmique, analyse numérique, graphes, probabilités. Énoncé, exemple et rappel de cours en accès libre.

271 exercices · enonce, exemple et rappel de cours en acces libre

Ce que le concours attend vraiment de toi en Python

L'informatique commune ne demande pas de savoir programmer en général. Elle demande de savoir écrire, à la main et sans machine, une trentaine de schémas de code qui reviennent d'une année sur l'autre : parcourir une liste en tenant à jour un maximum, chercher par dichotomie, trier, remplir un tableau de programmation dynamique, simuler une expérience aléatoire, résoudre un système linéaire.

C'est une bonne nouvelle. Le périmètre est fini, et il tient dans quelques centaines d'exercices. Ce qui distingue une copie qui rapporte des points d'une copie qui n'en rapporte pas, ce n'est presque jamais l'idée — c'est l'exécution : les bornes de boucle, l'initialisation de l'accumulateur, le cas de la liste vide, et le fait que la fonction porte exactement le nom demandé.

Les quatre fautes qui coûtent le plus cher

  • Le décalage d'indice. range(n) ou range(n-1) ? La moitié des tris ratés se joue là. Écris toujours ce que contient le tableau après le passage i : cet invariant te donne la borne.
  • Le nom de la fonction. Une fonction correctement écrite mais mal nommée n'est pas évaluée. L'énoncé impose la signature, elle se recopie sans la retoucher.
  • Le cas dégénéré. Liste vide, un seul élément, tous les éléments égaux. Ils tombent régulièrement, et ils se traitent en une ligne si on y pense en écrivant plutôt qu'à la relecture.
  • Modifier ou renvoyer. Un tri en place renvoie None et modifie son argument ; une fonction qui renvoie une nouvelle liste laisse l'original intact. Confondre les deux fausse tout l'exercice suivant.

Comment travailler ces exercices

Écris d'abord sur papier, sans exécuter. C'est ce que tu feras le jour du concours, et c'est le seul entraînement qui compte pour l'épreuve écrite. Ensuite seulement, exécute : tu découvriras que ton code fonctionne rarement du premier coup, et c'est précisément l'information utile.

Chaque énoncé ci-dessous donne la signature attendue et au moins un exemple calculé — pas rédigé de mémoire. Tu peux donc vérifier seul si tu as juste avant de regarder quoi que ce soit.

Les exercices

Algo Express — un exercice court par jour 140 exercices

  • Recherche du Maximum Algorithmique classique
  • Recherche du Minimum Algorithmique classique
  • Compteur d'Occurrences Algorithmique classique
  • Somme des Éléments Algorithmique classique
  • Moyenne d'une Liste Algorithmique classique
  • Produit des Éléments Algorithmique classique
  • Compter les Éléments Pairs Algorithmique classique
  • Somme des Éléments Positifs Algorithmique classique
  • Vérifier si Liste Triée Algorithmique classique
  • Deuxième Maximum Algorithmique classique
  • Indice du Maximum Algorithmique classique
  • Recherche Linéaire Algorithmique classique
  • Inverser une Liste Algorithmique classique
  • Palindrome Algorithmique classique
  • Factorielle Algorithmique classique
  • Somme des Chiffres Algorithmique classique
  • Nombre de Voyelles Algorithmique classique
  • Vérifier si Premier Algorithmique classique
  • Liste des Diviseurs Algorithmique classique
  • PGCD — Algorithme d'Euclide Algorithmique classique
  • Nombre de Mots Algorithmique classique
  • Compter les Majuscules Algorithmique classique
  • Indices de toutes les Occurrences Algorithmique classique
  • Maximum des Indices Pairs Algorithmique classique
  • Supprimer les Doublons Algorithmique classique
  • Rotation Gauche Algorithmique classique
  • Compter les Éléments Négatifs Algorithmique classique
  • Maximum en Valeur Absolue Algorithmique classique
  • Somme des Éléments à Indice Impair Algorithmique classique
  • Vérifier si Deux Listes Partagent un Élément Algorithmique classique
  • Compter les Lettres (hors espaces et chiffres) Algorithmique classique
  • Fusion de Deux Listes Triées Algorithmique classique
  • Transposée d'une Matrice Algorithmique classique
  • Aplatir une Liste de Listes Algorithmique classique
  • Suite Arithmétique Algorithmique classique
  • Ziper Deux Listes Algorithmique classique
  • Compter les Éléments Impairs Algorithmique classique
  • Maximum Récursif Algorithmique classique
  • Conversion Décimal → Binaire Algorithmique classique
  • Tri par Sélection Algorithmique classique
  • Tri Fusion (Merge Sort) Algorithmique classique
  • Tri Rapide (Quicksort) Algorithmique classique
  • Tri par Comptage (Counting Sort) Algorithmique classique
  • Vérifier si Liste Triée Décroissante Algorithmique classique
  • Exponentiation Rapide Algorithmique classique
  • Suite de Syracuse Algorithmique classique
  • Crible d'Ératosthène Algorithmique classique
  • Nombre Parfait Algorithmique classique
  • Coefficients Binomiaux (Pascal) Algorithmique classique
  • Conversion Décimal → Base Quelconque Algorithmique classique
  • Puissance d'un Nombre (sans **) Algorithmique classique
  • Nombre d'Armstrong Algorithmique classique
  • Plus Petit Commun Multiple (PPCM) Algorithmique classique
  • Suite Récurrente u(n+1) = u(n)² − 1 Algorithmique classique
  • Chiffrement de César Algorithmique classique
  • Déchiffrement de César Algorithmique classique
  • Vérifier si Anagrammes Algorithmique classique
  • Compression RLE Algorithmique classique
  • Décompression RLE Algorithmique classique
  • Plus Long Préfixe Commun Algorithmique classique
  • Compter les Mots Uniques Algorithmique classique
  • Inverser Chaque Mot d'une Phrase Algorithmique classique
  • Pile avec Liste Algorithmique classique
  • File avec Liste Algorithmique classique
  • Parenthèses Équilibrées Algorithmique classique
  • Évaluation Postfixée (NPI) Algorithmique classique
  • Fréquences des Caractères Algorithmique classique
  • Intersection de Deux Listes Algorithmique classique
  • Union de Deux Listes Algorithmique classique
  • Produit de Deux Matrices Algorithmique classique
  • Matrice Identité Algorithmique classique
  • Trace d'une Matrice Algorithmique classique
  • Matrice Symétrique Algorithmique classique
  • Somme de Deux Matrices Algorithmique classique
  • Médiane d'une Liste Algorithmique classique
  • Variance d'une Liste Algorithmique classique
  • Écart-Type d'une Liste Algorithmique classique
  • Mode (Élément le Plus Fréquent) Algorithmique classique
  • Histogramme de Fréquences Algorithmique classique
  • Tours de Hanoï Algorithmique classique
  • Permutations d'une Liste Algorithmique classique
  • Combinaisons de k parmi n Algorithmique classique
  • Flocon de Koch (coordonnées) Algorithmique classique
  • Somme des Sous-ensembles Algorithmique classique
  • Fibonacci par Programmation Dynamique Algorithmique classique
  • Sac à Dos 0/1 Algorithmique classique
  • Plus Longue Sous-séquence Commune (LCS) Algorithmique classique
  • Distance d'Édition (Levenshtein) Algorithmique classique
  • Montée d'Escalier Algorithmique classique
  • Recherche Dichotomique Itérative Algorithmique classique
  • Première Occurrence par Dichotomie Algorithmique classique
  • Recherche par Interpolation Algorithmique classique
  • Recherche Ternaire du Maximum Algorithmique classique
  • Point Fixe dans une Liste Triée Algorithmique classique
  • Liste Chaînée — Création et Affichage Algorithmique classique
  • Inversion d'une Liste Chaînée Algorithmique classique
  • Détection de Cycle (Floyd) Algorithmique classique
  • Fusion de Deux Listes Chaînées Triées Algorithmique classique
  • Longueur d'une Liste Chaînée Algorithmique classique
  • Arbre Binaire — Hauteur Algorithmique classique
  • Parcours Infixe (In-order) Algorithmique classique
  • Nombre de Noeuds d'un Arbre Algorithmique classique
  • Recherche dans un ABR Algorithmique classique
  • Arbre Binaire Miroir Algorithmique classique
  • Matrice d'Adjacence → Liste d'Adjacence Algorithmique classique
  • Parcours en Profondeur (DFS) Algorithmique classique
  • Parcours en Largeur (BFS) Algorithmique classique
  • Degré des Sommets Algorithmique classique
  • Composantes Connexes Algorithmique classique
  • Rendu de Monnaie Glouton Algorithmique classique
  • Sélection d'Activités Algorithmique classique
  • Sac à Dos Fractionnaire Algorithmique classique
  • Couverture d'Intervalles Algorithmique classique
  • Codage de Huffman Simplifié Algorithmique classique
  • Compter les Bits à 1 Algorithmique classique
  • Vérifier si Puissance de 2 Algorithmique classique
  • XOR pour Trouver l'Unique Algorithmique classique
  • Échange sans Variable Temporaire Algorithmique classique
  • Bit le Plus Significatif Algorithmique classique
  • Distance de Hamming Algorithmique classique
  • Somme par Ligne Listes de listes
  • Colonne d'une Matrice Listes de listes
  • Maximum de chaque Ligne Listes de listes
  • Recherche dans une Matrice Triée Listes de listes
  • Produit Matriciel Listes de listes
  • Inverser un Dictionnaire Dictionnaires
  • Regrouper par Valeur Dictionnaires
  • Deux Somme (Two Sum) Dictionnaires
  • Histogramme de Mots Dictionnaires
  • Cache LRU Simplifié Dictionnaires
  • Diagonale Principale Listes de listes
  • Matrice Creuse vers Dictionnaire Listes de listes
  • Rotation 90° Horaire Listes de listes
  • Vérifier Carré Magique Listes de listes
  • Parcours en Spirale Listes de listes
  • Fusion de Dictionnaires Dictionnaires
  • Anagrammes Groupées Dictionnaires
  • Plus Longue Sous-chaîne Sans Répétition Dictionnaires
  • Index Inversé Dictionnaires
  • Graphe par Dictionnaire — BFS Dictionnaires

Algorithmique classique 26 exercices

  • Recherche Dichotomique Diviser pour mieux chercher
  • Suite de Fibonacci Récursivité et mémoïsation
  • Tri à Bulle (Bubble Sort) Échanges successifs — la bulle qui remonte
  • Tri par Insertion Invariant de boucle et preuve
  • Tri par Sélection Invariant et complexité quadratique
  • Tri Fusion (Merge Sort) Diviser pour régner — O(n log n)
  • Tri Rapide (Quicksort) Partition et pivot — cas moyen O(n log n)
  • Exponentiation Rapide Calcul de aⁿ en O(log n)
  • Recherche dans une Liste Chaînée Classe Maillon et parcours
  • Pile et File Structures LIFO et FIFO avec listes
  • Évaluation d'Expressions Postfixées Pile et notation polonaise inverse
  • Algorithme de Boyer-Moore simplifié Recherche de motif dans un texte
  • Algorithme glouton : rendu de monnaie Stratégie gloutonne et contre-exemples
  • Sac à dos (Programmation Dynamique) Optimisation sous contrainte de poids
  • Plus Longue Sous-séquence Commune (LCS) Programmation dynamique classique
  • Détection de Cycle (Floyd) Algorithme du lièvre et de la tortue
  • Arbres Binaires — Parcours et Hauteur Préfixe, infixe, postfixe, largeur
  • Arbre Binaire de Recherche (ABR) Insertion, recherche, tri par parcours infixe
  • Tri par Tas (Heap Sort) Structure de tas et tri en place en O(n log n)
  • Algorithme de Kadane Sous-tableau de somme maximale en O(n)
  • Chemins dans une Grille Programmation dynamique 2D — comptage de chemins
  • Distance d'Édition (Levenshtein) Programmation dynamique 2D sur deux chaînes
  • Rendu de Monnaie (DP) Programmation dynamique — quand le glouton échoue
  • Problème des N-Reines Backtracking classique sur échiquier
  • Traitement d'Image — Seuillage et Barycentre Niveaux de gris, masque binaire, centre de masse
  • Algorithme de Bresenham Tracé de segment sur grille de pixels

Analyse numerique 22 exercices

  • Méthode de Dichotomie Résolution de f(x) = 0
  • Méthode des Trapèzes Intégration numérique
  • Méthode de Newton Résolution de f(x)=0 — convergence quadratique
  • Méthode d'Euler Résolution numérique d'EDO y'=f(t,y)
  • Méthode de Simpson Intégration numérique d'ordre 4
  • Interpolation de Lagrange Polynôme passant par n points
  • Méthode des Rectangles (Point Milieu) Intégration numérique simple
  • Résolution de Systèmes Linéaires (Pivot de Gauss) Élimination et substitution arrière
  • Décomposition LU Factorisation A = LU pour systèmes multiples
  • Méthode de la Sécante Approximation sans dérivée
  • Dérivation Numérique Différences finies — ordre 1 vs ordre 2
  • Méthode du Point Fixe Itération $x_{n+1} = g(x_n)$
  • Méthode de Heun (RK2) Euler amélioré — schéma prédicteur-correcteur d'ordre 2
  • Méthode de Runge-Kutta d'Ordre 4 (RK4) Le standard de l'intégration d'EDO
  • Méthode des Moindres Carrés Régression linéaire $y = ax + b$
  • Méthode de Jacobi Résolution itérative de $Ax = b$
  • Méthode de Romberg Extrapolation de Richardson sur les trapèzes
  • Interpolation Bilinéaire Reconstruction d'un pixel non entier
  • Géométrie 3D — Vecteurs Produit scalaire, norme, produit vectoriel
  • Marche Aléatoire 2D Mouvement brownien discret — Monte Carlo
  • Algorithme de Metropolis Monte Carlo — échantillonnage par chaîne de Markov
  • Intersection Rayon-Sphère Optique géométrique — base du ray tracing

Graphes 19 exercices

  • BFS et DFS Parcours de graphes
  • Algorithme de Dijkstra Plus court chemin pondéré
  • Composantes Connexes BFS/DFS pour trouver toutes les composantes
  • Détection de Cycle dans un Graphe Non Orienté DFS avec parent pour détecter les arêtes arrière
  • Tri Topologique DAG — ordre d'exécution des tâches
  • Algorithme de Bellman-Ford Plus courts chemins avec poids négatifs
  • Algorithme de Prim Arbre couvrant minimal
  • Algorithme de Kruskal Arbre couvrant minimal avec Union-Find
  • Coloration de Graphe Algorithme glouton de coloration
  • Plus Court Chemin dans un Labyrinthe BFS sur grille 2D
  • Représentations d'un Graphe Matrice et liste d'adjacence
  • Test de Bipartisme BFS et 2-coloration
  • Détection de Cycle (graphe orienté) DFS avec coloriage à 3 couleurs
  • Diamètre d'un Arbre Deux BFS successifs — une astuce élégante
  • Algorithme de Floyd-Warshall Plus courts chemins entre toutes les paires
  • Composantes Fortement Connexes (Kosaraju) Deux DFS sur le graphe et son transposé
  • Algorithme A* sur Grille Recherche guidée par une heuristique
  • Flot Maximal — Edmonds-Karp BFS dans le graphe résiduel
  • Critère de Delaunay (in-circle) Test géométrique pour triangulation

Intelligence artificielle 15 exercices

  • K Plus Proches Voisins Classification k-NN
  • K-Means Clustering Partitionnement non supervisé from scratch
  • Régression Linéaire Moindres carrés — from scratch
  • Perceptron Simple Classification binaire linéaire
  • Descente de Gradient Minimisation itérative de fonctions
  • Matrice de Confusion et Métriques Précision, rappel, F1-score
  • Validation Croisée k-fold Évaluation robuste d'un modèle
  • Arbre de Décision Simple Split sur un seuil — critère de Gini
  • Normalisation des Données Min-max et standardisation z-score
  • Métriques de Régression MSE, RMSE, MAE et R²
  • Régression Polynomiale Sous-apprentissage et sur-apprentissage
  • Régression Logistique Classification probabiliste par sigmoïde
  • Naïve Bayes Gaussien Classification probabiliste par règle de Bayes
  • Analyse en Composantes Principales (ACP) Réduction de dimension par diagonalisation
  • Forêt Aléatoire Bagging d'arbres de décision

Prepa ECG — probabilites et matrices 49 exercices

  • Simulation d'un dé Loi uniforme discrète & fréquences empiriques
  • Estimation de $\pi$ par Monte Carlo Simulation géométrique & convergence
  • Paradoxe des anniversaires Probabilité de collision dans un groupe
  • Moyenne et variance empiriques Statistiques descriptives from scratch
  • Coefficient de corrélation Mesure de dépendance linéaire
  • Loi des grands nombres Convergence de la moyenne empirique
  • Produit matriciel Implémentation from scratch vs numpy
  • Résolution d'un système linéaire Équilibre de marché multi-bien
  • Puissance rapide d'une matrice Exponentiation en $O(\log n)$
  • Chaîne de Markov — distribution à $n$ étapes Matrice de transition & puissance matricielle
  • Distribution stationnaire d'une chaîne de Markov Régime limite par itération
  • Mensualité d'un prêt à taux fixe Suite géométrique & amortissement
  • Simulation d'une loi de Bernoulli Tirage binaire & fréquence de succès
  • Simulation d'une loi binomiale Somme de $n$ Bernoulli & distribution empirique
  • Simulation d'une loi géométrique Temps d'attente du premier succès
  • Probabilités empiriques d'une loi de Poisson Événements rares & limite de la binomiale
  • Loi uniforme discrète Tirage uniforme sur $[\![a, b]\!]$
  • Problème du collectionneur de vignettes Espérance du temps de collection complète
  • Problème de Monty Hall Changer ou garder ? Simulation bayésienne
  • Marche aléatoire 1D — temps d'atteinte Espérance du premier passage en $\pm n$
  • Ruine du joueur Probabilité d'atteindre 0 avant $N$
  • Théorème Central Limite — illustration empirique La moyenne empirique devient gaussienne
  • Médiane et quartiles Statistiques de position
  • Mode d'une série statistique Valeur la plus fréquente
  • Histogramme par buckets Comptage dans des classes
  • Covariance empirique Mesure de variation conjointe
  • Somme d'une série géométrique Formule fermée vs sommation explicite
  • Approximation de $\pi$ par la formule de Leibniz Série alternée — vitesse de convergence lente
  • Suite arithmético-géométrique $u_{n+1} = a \cdot u_n + b$ — terme général & limite
  • Convergence d'une suite récurrente Itération de $u_{n+1} = f(u_n)$ jusqu'au point fixe
  • Intégration numérique par Simpson Précision d'ordre 4 sur polynômes cubiques
  • Inverse d'une matrice Vérification de $A A^{-1} = I$
  • Déterminant d'une matrice Volume signé & inversibilité
  • Valeurs propres d'une matrice Spectre & diagonalisation
  • Pivot de Gauss-Jordan Résolution de $A x = b$ from scratch
  • Diagonalisation explicite d'une matrice 2×2 Valeurs propres et vecteurs propres à la main
  • Suite récurrente linéaire $u_{n+1} = A \, u_n$ Calcul du $n$-ième terme par puissance matricielle
  • Construire la matrice de transition Du graphe au tableau numérique
  • Temps moyen d'atteinte d'un état Espérance du premier passage
  • Probabilité d'absorption en $n$ étapes Distribution sur un état absorbant
  • Chaîne de Markov à 3 états — sujet type concours Analyse complète d'une chaîne classique
  • Simuler une trajectoire de chaîne de Markov Tirage pas-à-pas selon la matrice de transition
  • Ergodicité — convergence vers la distribution stationnaire Observer empiriquement que le passé s'oublie
  • Intérêts composés — capitalisation Suite géométrique & effet d'accumulation
  • Valeur Actuelle Nette (VAN) Évaluer un projet d'investissement
  • TRI — Taux de Rentabilité Interne Résoudre VAN$(r) = 0$ par dichotomie
  • Régression linéaire multiple Moindres carrés matriciels
  • Coefficient de détermination $R^2$ Qualité d'ajustement d'une régression
  • Intervalle de confiance pour une proportion Approximation gaussienne via TCL

Autres rubriques

  • Exercices SQL pour la prépa — bases de données en CPGE
  • Exercices d'algorithmique en Python — tris, dichotomie, récursivité
  • Exercices d'analyse numérique en Python — dichotomie, Newton, intégration
  • Exercices sur les graphes en Python — BFS, DFS, Dijkstra
  • Exercices Python pour la prépa ECG — probabilités, matrices, suites
  • Exercices d'IA et d'apprentissage automatique en Python — CPGE

La correction commentee, les indices progressifs, l'execution du code dans le navigateur et la verification par l'IA sont reserves aux abonnes.

Prepa🐍ython
Progresser en Python & SQL · Prépa scientifique
Essai gratuit
Testez toutes les fonctionnalités sans engagement
En continuant, vous acceptez notre politique de confidentialité.
Déjà abonné ? Se reconnecter
Recevez un lien de connexion par email
Parcourir gratuitement →
Aperçu limité · sans inscription · sans vérification IA
€4,99
/ mois · accès illimité · résiliable
Paiement sécurisé
En vous abonnant, vous acceptez nos conditions et politique de confidentialité.
Résiliation possible depuis votre espace PayPal.

Chargement...

Initialisation de l'environnement

Prepa🐍ython
Progresser en Python & SQL · Prépa scientifique
Progression
0 / 0
Solo
— / —
Python... SQL...
Recherche
🔬 Bac a sable Python ↗ 🧪 Bac a sable SQL ↗ 📝 Concours blanc ↗ 🏖️ Code à la plage ↗ 📚 Listes de rentrée ↗ 🛠️ Admin ↗
Tu aimes PrepaPython ?
Fais-le savoir !
← Retour à l'accueil Mentions legales & confidentialite