Aller au contenu
Copie Double · le lycée, matière par matière Calculer ma moyenne au bac
Le magazine Calendrier du bac 2026

NSI · Seconde

Les bases de Python au lycée

On reprend les bases de Python utiles au lycée : variables, types, affichage, conditions et boucles. À la fin, on sait lire un petit programme et corriger les erreurs courantes.

Type : Fiche de cours Niveau d'exigence : Accessible À réviser en : 30 min Lecture : 8 min Mis à jour le : 13/08/2026
Les bases de Python au lycée
Ce qu'il faut savoir faire
  • Identifier les variables, les types simples et les affectations.
  • Écrire une condition avec if, elif et else.
  • Utiliser une boucle for ou while dans un cas simple.
  • Lire un message d'erreur courant pour corriger le programme.

Comprendre ce que fait Python

Python est un langage de programmation. On lui donne des instructions, il les exécute dans l’ordre. Une instruction est une ligne qui demande une action précise : calculer, afficher, mémoriser une valeur, tester une condition, répéter un bloc.

Au lycée, le plus important n’est pas de connaître beaucoup de commandes. Il faut surtout savoir lire un programme court et prévoir ce qu’il produit. Pour cela, on suit les valeurs des variables et l’ordre d’exécution.

Une variable est un nom associé à une valeur. En Python, l’affectation se fait avec le signe =. Ce signe ne signifie pas toujours une égalité mathématique. Il veut dire : prendre la valeur à droite et la ranger dans le nom à gauche.

Exemple : x = 7 signifie que la variable x contient la valeur 7. Si l’on écrit ensuite x = x + 3, Python calcule d’abord x + 3, donc 7 + 3, puis remplace l’ancienne valeur de x par 10.

Pour afficher une information, on utilise print. Par exemple, print(x) affiche la valeur contenue dans x. Pour demander une saisie au clavier, on utilise input. Attention : input renvoie du texte. Si l’on veut obtenir un nombre entier, on écrit int(input()). Pour un nombre décimal, on utilise float(input()).

Variables, types et opérations essentielles

Une valeur possède un type. Le type indique la nature de la donnée et détermine ce que Python peut faire avec elle. Confondre les types provoque souvent des erreurs.

Type Exemple Rôle
int 12 Nombre entier
float 3.5 Nombre décimal
str "bonjour" Chaîne de caractères, donc texte
bool True ou False Valeur logique

Les opérations de base sont proches des mathématiques. L’addition s’écrit +, la soustraction -, la multiplication *, la division /. La division entière s’écrit // et le reste d’une division euclidienne s’écrit %.

Exemple : 17 // 5 vaut 3, car 5 rentre trois fois dans 17. 17 % 5 vaut 2, car il reste 2.

Python respecte les priorités de calcul. Les parenthèses passent avant tout, puis les multiplications et divisions, puis les additions et soustractions. Ainsi, 2 + 3 * 4 vaut 14, alors que (2 + 3) * 4 vaut 20.

Avec les chaînes de caractères, le signe + assemble du texte. Par exemple, "bon" + "jour" donne "bonjour". En revanche, "3" + 4 provoque une erreur, car Python ne peut pas additionner directement du texte et un entier.

Conditions et répétitions

Un programme devient intéressant quand il peut choisir entre plusieurs chemins. Pour cela, on utilise une condition avec if, puis éventuellement elif et else.

Une condition est une expression qui vaut True ou False. Les comparaisons les plus fréquentes sont == pour tester l’égalité, != pour tester la différence, <, <=, > et >=.

Il faut distinguer = et ==. = affecte une valeur. == compare deux valeurs. Écrire x = 5 range 5 dans x. Écrire x == 5 demande si x vaut 5.

Python utilise l’indentation. Les lignes décalées appartiennent au bloc qui précède. Après un if, un for, un while ou une définition de fonction, on met deux points, puis on indente le bloc.

Pour répéter un nombre connu de fois, on utilise souvent for avec range. Par exemple, for i in range(4): fait prendre à i les valeurs 0, 1, 2, puis 3. La borne de fin n’est pas incluse.

Pour répéter tant qu’une condition reste vraie, on utilise while. Ce type de boucle demande de vérifier que la condition deviendra fausse à un moment. Sinon, le programme ne s’arrête pas.

  • if : exécute un bloc si une condition est vraie.
  • else : exécute un autre bloc si la condition du if est fausse.
  • for : répète un bloc en parcourant une suite de valeurs.
  • while : répète un bloc tant qu’une condition reste vraie.
  • range(n) : produit les entiers de 0 à n - 1.

Exemple traité pas à pas

On étudie le programme suivant. Il calcule une somme progressive.

s = 0

for i in range(1, 5):

s = s + i

print(s)

La première ligne crée la variable s et lui donne la valeur 0. Elle servira à accumuler une somme.

La boucle for i in range(1, 5) fait prendre à i les valeurs 1, 2, 3 et 4. La valeur 5 n’est pas prise, car la borne de fin n’est pas incluse.

  1. Avant la boucle, s = 0.
  2. Premier passage : i = 1. On calcule s + i, donc 0 + 1 = 1. Maintenant, s = 1.
  3. Deuxième passage : i = 2. On calcule 1 + 2 = 3. Maintenant, s = 3.
  4. Troisième passage : i = 3. On calcule 3 + 3 = 6. Maintenant, s = 6.
  5. Quatrième passage : i = 4. On calcule 6 + 4 = 10. Maintenant, s = 10.

La boucle est terminée. La dernière instruction affiche s. Le programme affiche donc 10.

Ce raisonnement est la méthode la plus sûre pour comprendre une boucle. On ne devine pas. On écrit les valeurs successives dans un petit tableau mental ou au brouillon.

Passage Valeur de i Calcul Nouvelle valeur de s
Départ Aucune Aucun 0
Un 1 0 + 1 1
Deux 2 1 + 2 3
Trois 3 3 + 3 6
Quatre 4 6 + 4 10

Fonctions, listes et erreurs fréquentes

Une fonction regroupe des instructions sous un nom. Elle évite de réécrire plusieurs fois le même code. On la définit avec def. Une fonction peut recevoir des paramètres et renvoyer un résultat avec return.

Exemple : def double(n):, puis dans le bloc indenté return 2 * n. Si l’on appelle double(6), la fonction renvoie 12. Une fonction qui affiche avec print ne renvoie pas forcément une valeur utilisable dans un calcul. Cette différence entre afficher et renvoyer est essentielle.

Une liste contient plusieurs valeurs dans un ordre précis. On l’écrit avec des crochets, par exemple notes = [12, 15, 9]. Les indices commencent à 0. Donc notes[0] vaut 12, notes[1] vaut 15, et notes[2] vaut 9.

Pour connaître la longueur d’une liste, on utilise len. Ici, len(notes) vaut 3. Pour parcourir les valeurs, on peut écrire for n in notes:. La variable n prend alors successivement les valeurs de la liste.

Les erreurs les plus fréquentes viennent de détails précis. L’ordinateur ne corrige pas l’intention. Il exécute ce qui est écrit.

  • Oublier les deux points après if, for, while ou def.
  • Mal indenter un bloc.
  • Confondre = et ==.
  • Utiliser une variable avant de lui avoir donné une valeur.
  • Oublier que les indices d’une liste commencent à 0.
  • Confondre print et return.
  • Oublier de convertir une saisie avec int ou float avant un calcul.

Méthode à appliquer le jour de l’évaluation

Commencer par lire tout le programme sans écrire. Repérer les variables, les boucles, les conditions et les fonctions. Chercher ce qui est demandé : prévoir un affichage, compléter un programme, corriger une erreur ou écrire un algorithme.

Ensuite, suivre l’exécution ligne par ligne. À chaque affectation, mettre à jour la valeur de la variable. Dans une boucle, noter les valeurs prises par le compteur. Pour une condition, décider si elle vaut True ou False, puis suivre seulement le bloc exécuté.

Quand un programme contient une fonction, ne pas lire seulement sa définition. Chercher aussi l’appel de la fonction. Les paramètres reçoivent les valeurs données au moment de l’appel. Le résultat utile est souvent celui qui suit return.

Pour écrire du code, avancer par petites étapes. Définir les variables nécessaires. Traiter un cas simple. Ajouter ensuite la condition ou la boucle. Relire enfin les détails de syntaxe : parenthèses, deux points, indentation, noms de variables, conversions de type.

Si une erreur apparaît, ne pas tout effacer. Identifier sa nature. Une erreur de syntaxe empêche Python de comprendre le programme. Une erreur de type signale souvent une mauvaise conversion. Une erreur d’indice indique souvent qu’on dépasse la taille d’une liste.

Avant de rendre, tester mentalement le programme avec de petites valeurs. Une boucle qui doit additionner des nombres peut être vérifiée avec deux ou trois passages. Une condition peut être testée avec un cas vrai et un cas faux. Cette vérification rapide évite beaucoup d’erreurs.

Hugo Arbonnier

Les pièges classiques
  • Le piège : confondre = et ==, puis modifier une variable au lieu de tester une égalité. Réserver = à l'affectation et == aux conditions.
  • Le piège : oublier l'indentation après if, for ou while, puis obtenir une erreur ou un bloc mal exécuté. Aligner chaque instruction du même bloc.
  • Le piège : croire que input donne un nombre, puis obtenir une concaténation ou une erreur de calcul. Convertir avec int ou float si un calcul est attendu.
  • Le piège : se tromper avec range, puis faire un tour de boucle en trop ou en moins. Se rappeler que la borne de fin n'est pas incluse.
Ce qui rapporte des points

En contrôle, les points viennent surtout d'un code lisible, d'une syntaxe exacte et d'une logique qui répond à la consigne. On gagne aussi en expliquant le rôle des variables et en sachant suivre l'exécution d'un programme ligne par ligne.

Hugo Arbonnier

Professeur de mathématiques

Hugo Arbonnier signe les contenus de mathématiques, de physique-chimie et de NSI avec une priorité simple : rendre les notions vérifiables, utilisables, sans les réduire à des recettes. Sa ligne éditoriale priv...

Voir toutes ses fiches

Questions fréquentes

On nous demande souvent

c'est quoi une variable en python ?

Une variable est un nom qui contient une valeur. En Python, on l'affecte avec le signe =, par exemple age = 15.

différence entre = et == en python

Le signe = sert à donner une valeur à une variable. Le signe == sert à tester si deux valeurs sont égales dans une condition.

comment faire une boucle en python lycée ?

On utilise souvent for quand on connaît le nombre de répétitions. On utilise while quand la répétition dépend d'une condition qui peut changer pendant le programme.