Fiche de révision : Introduction à la programmation Python en NSI

📋 Plan du Cours

  1. Langage Python dans le programme NSI
  2. Histoire et philosophie du langage Python
  3. Environnements de travail Python scripts et IDE
  4. Notebooks Jupyter et environnement Basthon
  5. Console Python shell et erreurs de syntaxe
  6. Variables Python nommage et types natifs
  7. Variables logiques booléen et opérateurs de comparaison
  8. Tests conditionnels if elif else et indentation
  9. Boucles for bornée et range en Python
  10. Boucles while non bornée break et continue

📖 1. Langage Python dans le programme NSI

🔑 Notions clés & Définitions

  • Python 3 : Python 3 est la version du langage imposée par le programme NSI, avec une version minimale 3 (ou supérieure).
  • Guido van Rossum : Guido van Rossum est le créateur de Python, à l’origine du choix du nom et des objectifs de lisibilité du code.
  • Langage interprété : Un langage interprété exécute le programme via un interpréteur, sans compilation préalable en code machine.
  • Code maintenable : Un code maintenable est un code lisible et évolutif, conçu pour être compris et modifié facilement par d’autres.

📝 Points essentiels

  • Le programme NSI exige un langage simple, interprété, concis, libre et gratuit, multiplateforme, largement répandu, avec des bibliothèques adaptées et une grande communauté éducative.
  • Le langage choisi pour NSI est Python, avec Python version 3 ou supérieure.
  • Python a été développé en 1989 par Guido van Rossum à l’Université d’Amsterdam.
  • Python tire son nom de la série « Monthy Python Flying Circus ».
  • Python est un langage généraliste, utilisé dans l’industrie ainsi que dans les milieux scolaires et universitaires.
  • L’objectif initial de Python privilégie la maintenabilité du code plutôt que la recherche d’un code « intelligent ».

💡 Astuce mémo

Python = « lisible et évolutif » : on privilégie la maintenabilité plutôt que l’astuce.

📖 2. Histoire et philosophie du langage Python

🔑 Notions clés & Définitions

  • Python : Langage de programmation largement utilisé, facile à apprendre et soutenu par une grande communauté et de nombreuses bibliothèques.
  • Langage interprété : Type de langage où le code est exécuté via un interprète, sans étape de compilation préalable.
  • Débogage : Processus de correction d’erreurs dans un programme, rendu plus simple quand l’exécution s’arrête sur la ligne fautive.
  • Open source : Statut d’un logiciel dont le code est librement accessible, permettant un usage gratuit et sans restriction de droit d’auteur.
  • Shell : Programme qui traite les commandes saisies dans une console et exécute les instructions.

📝 Points essentiels

  • Python est largement employé en milieu scolaire et universitaire grâce à sa facilité d’apprentissage et à l’abondance de bibliothèques.
  • Python est un langage interprété : le code est traduit en langage machine au fur et à mesure de l’exécution.
  • En cas d’erreur, l’exécution s’arrête sur la ligne en défaut, ce qui facilite la mise au point (débogage).
  • Un même programme Python peut être exécuté sur différentes machines si elles disposent de l’interprète, indépendamment du système d’exploitation.
  • Python est open source : il est gratuit et libre de droit.
  • Pour développer, on a besoin d’un éditeur pour écrire et sauvegarder des scripts, d’une console pour afficher résultats/erreurs et saisir des commandes, et éventuellement d’un IDE pour gérer fichiers et tests (exemples :

💡 Astuce mémo

Interprète = exécution ligne par ligne : erreur sur la ligne → débogage rapide ; éditeur + console + IDE = chaîne de travail.

📖 3. Environnements de travail Python scripts et IDE

🔑 Notions clés & Définitions

  • IDE Pyzo : Un IDE est un environnement logiciel qui regroupe édition et exécution pour développer des programmes Python plus facilement.
  • IDE Spyder : Un IDE est un environnement logiciel qui regroupe édition et exécution pour développer des programmes Python plus facilement.
  • Visual Studio Code : Un éditeur de code pouvant être configuré pour Python, utilisé pour écrire et exécuter des scripts via des extensions.
  • Notebook Jupyter : Un notebook est un fichier numérique qui combine texte, images, formules et code Python exécutable avec affichage des résultats.
  • Fichier .ipynb : Un fichier .ipynb est le format standard d’un notebook Jupyter, autonome et contenant le contenu et le code.

📝 Points essentiels

  • Pyzo et Spyder sont des IDE accessibles en salle de NSI pour développer et tester des programmes Python.
  • Visual Studio Code peut être installé sur un ordinateur personnel en suivant un tutoriel d’installation.
  • Un notebook permet d’exécuter le code directement dans le document et de voir le résultat dans une console intégrée.
  • Les notebooks sont standardisés par l’application Jupyter Notebook et utilisent l’extension .ipynb.
  • Basthon est un éditeur en ligne (https://basthon.fr/) qui permet d’utiliser un notebook ou un éditeur avec console.
  • La console Python, aussi appelée shell, affiche une invite >>> indiquant que l’interpréteur attend une instruction à exécuter après Entrée.

💡 Astuce mémo

IDE = Écrire + Exécuter ; Notebook = Document + Console intégrée ; Shell = >>> attend une instruction.

📖 4. Notebooks Jupyter et environnement Basthon

🔑 Notions clés & Définitions

  • Variable : Une variable est l’association entre un nom de référence et une valeur typée stockée en mémoire.
  • Lecture de variable : La lecture d’une variable consiste à récupérer la valeur actuellement stockée en mémoire.
  • Écriture de variable : L’écriture d’une variable consiste à modifier la valeur stockée en mémoire, quand le type le permet.
  • Affectation Python : En Python, une variable est créée et initialisée en lui affectant une valeur avec le signe =.
  • Nom de variable : Le nom d’une variable identifie la référence et doit respecter des règles de syntaxe et de lisibilité.

📝 Points essentiels

  • Une variable est accessible à la fois en lecture et en écriture, selon le type de la variable.
  • Si le type ne permet pas de modifier directement la valeur (ex. entier), une modification crée une nouvelle variable éventuellement avec le même nom.
  • En Python, l’affectation du type var = 2.58 déclare la variable et fixe sa valeur initiale.
  • Un nom de variable ne doit pas être un mot réservé du langage Python 3.x.
  • Un nom de variable ne doit pas commencer par un chiffre et ne doit pas contenir de symbole d’opérateur.
  • Les majuscules et minuscules sont différenciées et l’espace est interdit (on peut utiliser _ à la place).

💡 Astuce mémo

Variable = Nom + Valeur (typée) : lecture = je récupère, écriture = je remplace (si le type le permet).

📖 5. Console Python shell et erreurs de syntaxe

🔑 Notions clés & Définitions

  • Mots réservés Python 3.x : En Python 3.x, ce sont des mots-clés prédéfinis qui ont un rôle syntaxique et ne peuvent pas être utilisés comme noms d’identificateurs.
  • Types natifs Python : Les types natifs sont des types standards intégrés à l’interpréteur Python, disponibles sans bibliothèque externe.
  • Type booléen bool : Le type booléen bool représente des valeurs logiques utilisées pour piloter les décisions d’un programme.
  • Variables logiques : Une variable logique ne peut prendre que deux états, correspondant aux valeurs 0 et 1.

📝 Points essentiels

  • Les mots réservés Python 3.x incluent notamment and, assert, break, class, continue, def, del, elif, else, except, exec, finally, for, from, global, if, import, in, is, lambda, not, or, pass, print, raise, return, try, (
  • Les mots réservés Python 3.x incluent aussi while, yield, True, False, None, et leur usage comme identificateurs est interdit.
  • Les types natifs Python cités comprennent bool, int, float, complex, str, tuple, list, range, dict, set.
  • Les valeurs numériques des types int/float/complex commencent par un chiffre dans les exemples du cours.
  • Le type bool n’est pas un type numérique : il sert aux tests et aux boucles via des conditions.
  • Les états logiques sont notés False (valeur logique 0) et True (valeur logique 1), avec une majuscule obligatoire pour ces mots-clés.

💡 Astuce mémo

Bool = décision : True/False (majuscule) ; les mots réservés ne servent pas de noms.

📖 6. Variables Python nommage et types natifs

🔑 Notions clés & Définitions

  • booléen : Type booléen : type de valeurs logiques utilisées pour décider dans un programme via tests et boucles.
  • False : Mot-clé False : valeur logique correspondant à l’état logique 0, avec une majuscule obligatoire.
  • True : Mot-clé True : valeur logique correspondant à l’état logique 1, avec une majuscule obligatoire.
  • opérateurs de comparaison : Opérateurs de comparaison : opérateurs qui évaluent une condition et produisent un résultat booléen (ou interprété comme tel).
  • opérateurs booléens : Opérateurs booléens : opérateurs logiques de base (not, and, or) qui combinent des conditions pour obtenir un état booléen.

📝 Points essentiels

  • False et True sont des mots-clés dont la première lettre doit être une majuscule.
  • Le type booléen n’est pas un type numérique : il sert aux décisions (tests, boucles) et aux conditions associées.
  • Les opérateurs de comparaison renvoient un résultat booléen et peuvent être utilisés avec tous les types natifs du langage.
  • En Python, == teste l’égalité de valeur, tandis que is teste l’identité d’objet (adresse).
  • is not vérifie que deux objets n’ont pas la même adresse, et != vérifie qu’ils n’ont pas la même valeur.
  • in et not in testent l’appartenance à une séquence (ex. ch in string), et sont spécifiques à Python.

💡 Astuce mémo

Priorité à retenir : ( ) puis not puis and puis or (du plus prioritaire au moins prioritaire).

📖 7. Variables logiques booléen et opérateurs de comparaison

🔑 Notions clés & Définitions

  • Ordre de priorité des opérations : Règle d’évaluation qui fixe l’ordre d’exécution des opérateurs dans une expression logique, avant de calculer la valeur finale.
  • Parenthèses : Marqueur syntaxique qui force l’évaluation d’une sous-expression avant le reste dans une expression logique.
  • Opérateur not : Opérateur logique unaire qui inverse une valeur booléenne (True devient False et inversement).
  • Opérateur and : Opérateur logique binaire qui combine deux conditions et ne renvoie True que si les deux sont vraies.
  • Opérateur or : Opérateur logique binaire qui renvoie True si au moins une des deux conditions est vraie.

📝 Points essentiels

  • L’ordre de priorité est : parenthèses (prioritaire) puis not puis and puis or (le moins prioritaire).
  • Sans parenthèses, une expression du type a and b or c s’évalue comme (a and b) or c.
  • Avec parenthèses, a and (b or c) change l’ordre d’évaluation et donc le résultat logique.
  • Dans l’exemple, t1 sert de variable temporaire pour stocker le résultat intermédiaire du calcul logique.
  • Les prises de décision dépendent d’un test dont le résultat est True ou False.
  • Si le test est vrai, le bloc associé à la condition est exécuté, sinon un autre bloc peut l’être puis le programme continue.

💡 Astuce mémo

Priorité = ( ) puis not puis and puis or : « Parenthèses d’abord, puis négation, puis double condition, puis au moins une ».

📖 8. Tests conditionnels if elif else et indentation

🔑 Notions clés & Définitions

  • Test conditionnel if : Structure conditionnelle qui exécute un bloc d’instructions lorsque l’expression test est vraie.
  • Chaîne elif : Branche conditionnelle ajoutée après un if pour tester une autre condition seulement si les tests précédents sont faux.
  • Bloc else : Branche finale exécutée lorsque tous les tests précédents (if et elif) sont faux.
  • Indentation Python : Règle de mise en forme qui délimite les blocs d’instructions associées aux conditions et aux boucles.

📝 Points essentiels

  • En Python, la syntaxe s’écrit avec deux-points après le test : if test1: puis les instructions du bloc.
  • Le bloc elif test2: s’exécute si test2 est vrai et si test1 est faux (et ainsi de suite pour plusieurs elif).
  • Le bloc else: s’exécute uniquement si tous les tests (if et tous les elif) sont faux.
  • L’indentation regroupe les instructions appartenant au même bloc conditionnel ; une indentation incorrecte change le programme.
  • Un test conditionnel sert à choisir une suite d’instructions : VRAI → bloc correspondant, NON → on passe au test suivant ou à else.

💡 Astuce mémo

if/elif/else = 1er vrai gagne : si le premier test est vrai on s’arrête, sinon on essaie le suivant, et else est le “dernier recours”.

📖 9. Boucles for bornée et range en Python

🔑 Notions clés & Définitions

  • Boucle for : Boucle de programmation qui répète l’exécution d’instructions en parcourant une suite de valeurs ou un objet itérable.
  • range : Fonction Python qui génère une suite finie d’entiers, consommée successivement par la variable de comptage dans une boucle for.
  • Itérable : Objet composé de plusieurs éléments qu’on peut parcourir, élément par élément, via une boucle for.
  • Séquence itérable : Objet itérable sur lequel la boucle for avec in effectue un parcours des éléments.

📝 Points essentiels

  • range(n) produit des entiers de 0 à n-1, avec un pas implicite de 1, et la valeur n est exclue.
  • À la sortie d’une boucle for i in range(...), i conserve la dernière valeur qu’elle a prise.
  • Si debut >= fin dans range(debut, fin), la boucle n’est pas exécutée et i reste indéfinie.
  • for i in range(debut, fin) fait varier i de debut à fin-1, donc fin est exclue.
  • for i in range(debut, fin, p) fait varier i de debut à fin-1 avec un pas p, tant que les valeurs restent dans l’intervalle excluant fin.

💡 Astuce mémo

range = [début, fin) : fin exclue, pas implicite 1 si absent.

📖 10. Boucles while non bornée break et continue

🔑 Notions clés & Définitions

  • Boucle while : Une boucle while exécute un bloc d’instructions tant que la condition reste vraie.
  • Boucle non bornée : Une boucle non bornée peut potentiellement s’exécuter un nombre de fois indéterminé, jusqu’à ce qu’un arrêt interne se produise.
  • Instruction break : Une instruction break interrompt immédiatement la boucle en cours et permet de reprendre l’exécution après la boucle.
  • Instruction continue : Une instruction continue saute le reste du bloc courant et renvoie directement au test de la boucle.

📝 Points essentiels

  • Une boucle while non bornée s’écrit avec une condition et un bloc d’instructions exécuté tant que la condition est vraie.
  • Pour arrêter une boucle prématurément, on place un test if dans le corps de la boucle suivi d’un break.
  • Avec break, on abandonne la boucle et on exécute la suite du programme après la boucle.
  • Pour shunter une partie des instructions, on utilise continue associée à un test conditionnel.
  • Avec continue, l’exécution repart directement au test de la boucle, donc les instructions après le continue ne s’exécutent pas pour cette itération.
  • Dans les exemples, break est déclenché quand un caractère vaut une valeur précise, puis la boucle s’arrête immédiatement.

💡 Astuce mémo

break = sortie immédiate (on quitte la boucle) ; continue = retour au test (on saute le reste de l’itération).

📅 Repères chronologiques

DateÉvénement
1989Développement de Python par Guido van Rossum à l’Université d’Amsterdam
1815-1864Période de vie de George Boole, père de l’algèbre binaire
10/09/2025Date du cours (10/09/2025)

📊 Tableaux de synthèse

Opérateurs de comparaison (égalité vs identité)

OpérateurRôleExemple
==Égalité (même valeur)x == y
isMême adresse (identité d’objet)a is b
is notObjets n’ont pas la même adressea is not b
!=Différent (pas la même valeur)i != j

⚠️ Pièges & confusions fréquents

  1. Confondre == et is : == compare la valeur, tandis que is teste l’identité d’objet (adresse).
  2. Croire que True/False sont des valeurs numériques : ce sont des mots-clés logiques, avec majuscule obligatoire.
  3. Utiliser un mot réservé comme nom de variable (ex. if, for, print) : Python interdit ces identificateurs.
  4. Écrire une condition logique sans respecter la priorité : sans parenthèses, a and b or c s’évalue comme (a and b) or c.
  5. Oublier que range exclut la borne fin : range(debut, fin) parcourt jusqu’à fin-1, pas fin.
  6. Penser qu’une boucle while est bornée : elle peut s’exécuter indéfiniment si aucune condition de sortie n’est prévue.
  7. Se tromper d’indentation : en Python, l’indentation délimite les blocs, une erreur change le programme.

✅ Checklist Examen

  1. Citer les caractéristiques imposées au langage NSI (simple, interprété, concis, libre et gratuit, multiplateforme, largement répandu, bibliothèques adaptées, vaste communauté) et préciser que Python version 3 (ou +) est/
  2. Expliquer pourquoi Python est dit interprété et ce que provoque une erreur (arrêt sur la ligne en défaut, débogage facilité).
  3. Décrire le rôle de l’interprète/shell (invite >>>, exécution après Entrée, affichage résultats/erreurs) et la cause d’un SyntaxError (expressions complètes et bien formées).
  4. Associer correctement les environnements : éditeur pour écrire/sauvegarder des scripts, console pour exécuter et afficher, IDE (Pyzo/Spyder) pour édition+exécution+gestion, notebook Jupyter (.ipynb) pour document + exéc.
  5. Définir lecture vs écriture de variable et rappeler que l’affectation se fait avec le signe = (ex. var = 2.58).
  6. Donner les règles de nommage : pas de mot réservé, pas de début par un chiffre, pas de symbole d’opérateur, pas d’espace (utiliser _), majuscules/minuscules différenciées, première lettre plutôt minuscule, éviter les maj
  7. Expliquer le type bool (bool) : états False (0) et True (1), majuscule obligatoire, et rappeler que ce n’est pas un type numérique.
  8. Savoir distinguer les opérateurs de comparaison : == vs is, is not, !=, < <= > >=, et in / not in (appartenance à une séquence).
  9. Maîtriser la priorité des opérateurs logiques : parenthèses puis not puis and puis or, et savoir que les parenthèses changent le résultat.
  10. Savoir écrire une structure conditionnelle Python avec if/elif/else et comprendre le rôle de l’indentation et du bloc else (exécuté si tous les tests précédents sont faux).
  11. Différencier for bornée et while non bornée : for avec nombre connu de répétitions, while nécessitant une condition de sortie (sinon risque d’exécution indéterminée).
  12. Savoir utiliser range dans for : range(n) = 0 à n-1, fin exclue, i conserve la dernière valeur à la sortie, et gérer le cas debut >= fin (boucle non exécutée).
  13. Savoir utiliser break et continue dans une boucle while/for : break interrompt immédiatement, continue saute le reste de l’itération et renvoie au test de boucle.

Testez vos connaissances

Testez vos connaissances sur Introduction à la programmation Python en NSI avec 20 questions à choix multiples avec corrections détaillées.

1. Quel est le langage retenu en NSI et quelle version minimale est exigée ?

2. Quelle caractéristique correspond le mieux à l’objectif initial de Python dans le cadre de la NSI ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Introduction à la programmation Python en NSI avec 20 flashcards interactives.

Python 3 — version minimale ?

Version 3 ou supérieure

Guido van Rossum — rôle ?

Créateur de Python

Langage interprété — définition ?

Exécute le code via un interpréteur, sans compilation

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches