Prepa Help
Prepa Help › Cours › Informatique, 1re année

Bases de Python en prépa : cours, méthodes et exercices corrigés

Expressions et types de base, variables et affectation, instructions conditionnelles et boucles, fonctions et spécification, premiers programmes complets en Python.

Les nombres sont ceux du chapitre complet ; chaque filière voit la partie qui correspond à son programme.

Python est le langage de l'informatique commune des classes préparatoires : on y écrit des expressions typées (int, float, bool, str), des instructions conditionnelles, des boucles for et while, et des fonctions qui renvoient leur résultat par return. Ce chapitre donne la syntaxe et les réflexes qui servent dans tous les autres. Il est au programme de MPSI, PCSI, PTSI, TSI et TPC, au Maroc et en France ; les épreuves d'informatique du CNC, de CCINP et de Mines-Ponts posent des questions de ce niveau, reprises dans les exercices. Ce cours de Python pour la prépa propose des exercices Python corrigés, avec l'analyse, le programme et sa sortie, ainsi que les messages d'erreur à reconnaître.

Ce que tu sauras faire

Ce chapitre donne les bases du langage Python : ce qu'est une valeur, une variable, une instruction, une boucle, une fonction. Tous les autres chapitres d'informatique s'écrivent avec ces outils. À la fin, tu dois savoir :

L'essentiel : Valeurs, opérations, variables Extrait gratuit

Un extrait de la fiche « L'essentiel » du chapitre. Les démonstrations sont dans le cours détaillé.

Type Exemples Conversion
int 0, -7, 2026 int(x) : troncature d'un flottant, lecture d'une chaîne de chiffres
float 3.5, 3.1e-2 float(x)
bool True, False
str "tamr" str(x)
(aucune valeur) None
Priorité (de la plus forte à la plus faible) Opérations
1 **
2 signe -x
3 *, /, //, %
4 +, -
5 ==, !=, <, >, <=, >=
6, 7, 8 not, puis and, puis or
À retenir Opérations et affectation
  • À priorité égale, Python calcule de gauche à droite, sauf **, de droite à gauche (2 ** 3 ** 2 vaut 512), et les comparaisons, qui s'enchaînent (0 < x < 10).
  • / donne toujours un flottant : 6 / 3 vaut 2.0. Pour a≥0a \geq 0 et b>0b > 0 : a=bq+ra = bq + r avec qq = a // b, rr = a % b et 0≤r<b0 \leq r < b.
  • x = e calcule e, puis range la valeur dans x : c'est une instruction, pas une égalité. == compare.
  • a, b = b, a échange ; a, b = b, a + b met à jour deux variables avec leurs anciennes valeurs.
  • and et or sont paresseux : i < len(L) and L[i] == 0 ne lit jamais L[i] hors de la liste.
  • Un flottant s'écrit avec un point : x = 12,5 crée le couple (12, 5).

Une méthode du chapitre Extrait gratuit

Un exercice corrigé Extrait gratuit

Dans le chapitre complet

Le cours détaillé, toute la fiche « L'essentiel », 20 méthodes, 22 pièges corrigés, la carte mentale, 36 exercices corrigés, 4 problèmes de concours, les fiches à mémoriser et l'assistant qui répond à tes questions. Ce chapitre est offert : il s’ouvre en entier avec un compte d’essai gratuit.

Ouvrir l'essai gratuit

Plan du cours

Les méthodes du chapitre

Chaque méthode est une fiche : quand l'utiliser, le rappel de cours, les étapes, la rédaction attendue sur la copie, un exemple traité, les erreurs à éviter.

  1. Prévoir la valeur et le type d'une expression
  2. Écrire la trace d'un programme en tableau
  3. Échanger deux variables et mettre à jour plusieurs variables en même temps
  4. Utiliser // et % : division euclidienne, parité, durées, chiffres
  5. Écrire une instruction conditionnelle qui couvre tous les cas
  6. Écrire une condition booléenne juste et la renvoyer directement
  7. Choisir entre for et while
  8. Régler les bornes d'une boucle for
  9. Accumuler : somme, produit, compteur, moyenne, liste de résultats
  10. Écrire une boucle while à seuil qui s'arrête
  11. Chercher avec sortie anticipée : « il existe » et « pour tout »
  12. Calculer les termes d'une suite récurrente
  13. Écrire une fonction à partir d'un énoncé de concours
  14. Réutiliser les fonctions des questions précédentes
  15. Prévoir l'effet d'un appel sur les variables
  16. Protéger une fonction par assert et la tester
  17. Lire un message d'erreur et corriger un programme
  18. Traduire un pseudo-code en Python
  19. Lire une saisie, la convertir et afficher un résultat mis en forme
  20. Prévoir la sortie d'un programme qui utilise global, continue, des arguments par défaut ou une lambda

Les exercices corrigés

Chaque exercice a ses indications, sa correction rédigée et ce qu'il faut en retenir.

Application directe (15)

Entraînement (16)

Approfondissement (5)

Les problèmes de concours

Des extraits de sujets réels, corrigés en entier, avec la durée conseillée et les méthodes mobilisées.

Questions fréquentes

Quelle est la différence entre print et return en Python ?

print affiche une valeur à l'écran ; return arrête la fonction et donne la valeur de l'appel. Seul return permet de réutiliser le résultat dans un calcul ou dans une autre fonction. Une fonction sans return renvoie None. Dans un sujet de concours qui demande une fonction qui « renvoie » ou « retourne », afficher le résultat au lieu de le renvoyer est une erreur.

Quelle différence entre / et // en Python ?

/ donne toujours un flottant : 6 / 3 vaut 2.0. // donne le quotient de la division euclidienne et % son reste : pour a≥0a \geq 0 et b>0b > 0, on a a=bq+ra = bq + r avec qq = a // b, rr = a % b et 0≤r<b0 \leq r < b. Ces deux opérateurs servent à tester la parité, convertir une durée ou extraire les chiffres d'un entier.

Comment choisir entre une boucle for et une boucle while ?

On se demande si l'on connaît le nombre de tours avant d'entrer. Si oui, on écrit une boucle for, qui s'arrête d'elle-même. Sinon (seuil, condition d'arrêt), on écrit une boucle while, avec une initialisation, une condition, une mise à jour, et une quantité entière positive qui décroît strictement à chaque tour pour être sûr qu'elle s'arrête. Exemple : le premier entier dont le carré dépasse 1000 demande un while.

Combien de tours fait for i in range(a, b) ?

for i in range(n) fait nn tours, avec i de 0 à n−1n - 1. for i in range(a, b) fait b−ab - a tours si a≤ba \leq b, et aucun sinon, avec i de aa à b−1b - 1. Pour aller de 1 à nn, on écrit range(1, n + 1). Deux boucles imbriquées de nn et mm tours exécutent le corps n×mn \times m fois.

Pourquoi Python affiche UnboundLocalError ?

Un nom affecté quelque part dans une fonction est local dans toute la fonction. Si la fonction lit ce nom avant de l'affecter, en pensant lire la variable globale du même nom, Python lève une UnboundLocalError. Une fonction peut lire une variable globale seulement si elle n'affecte nulle part ce nom. Les variables locales disparaissent à la fin de l'appel.

Comment échanger deux variables en Python ?

On écrit a, b = b, a : Python calcule d'abord les deux valeurs de droite, puis les range dans a et b. De même, a, b = b, a + b met à jour deux variables avec leurs anciennes valeurs, ce qui sert pour les suites récurrentes. L'affectation x = e est une instruction, pas une égalité : la comparaison s'écrit ==.

Comment y accéder

Ce chapitre fait partie des chapitres offerts : il s'ouvre en entier avec un compte d'essai gratuit. Créer un compte d'essai ou se connecter. Pour l'accès complet, les tarifs ou une question, écris-nous sur WhatsApp.

Toute ta prépa au même endroit

Pour chaque chapitre : le cours, l'essentiel, les méthodes, les pièges, les exercices corrigés, les problèmes de concours, et un assistant qui répond à tes questions. Programmes du Maroc et de France.

Essayer gratuitement Prepa Help

← Architecture de l'ordinateur et représentation des nombres · Récursivité →