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.
- 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 duifest 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 de0à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.
- Avant la boucle,
s = 0. - Premier passage :
i = 1. On calcules + i, donc0 + 1 = 1. Maintenant,s = 1. - Deuxième passage :
i = 2. On calcule1 + 2 = 3. Maintenant,s = 3. - Troisième passage :
i = 3. On calcule3 + 3 = 6. Maintenant,s = 6. - Quatrième passage :
i = 4. On calcule6 + 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,whileoudef. - 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
printetreturn. - Oublier de convertir une saisie avec
intoufloatavant 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
- 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.
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.
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...
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.
Pour continuer
Autres fiches de NSI

Fiche de cours · Première
Listes, dictionnaires et tuples
Listes, dictionnaires et tuples : choisir la bonne structure et éviter les confusions.

Fiche de cours · Première
Les algorithmes de tri
Une fiche claire pour coder, tracer et comparer les tris par sélection et insertion en NSI.

Fiche de cours · Terminale
Arbres et graphes
Arbres, graphes, parcours et cycles : l’essentiel exigeant pour la NSI en terminale.

Épreuve du bac · coef. 16
L'épreuve de spécialité NSI
En NSI, la copie doit coder juste, raisonner clair et expliquer ses choix.