NSI (Spé) — Langages et programmation
Python : variables, fonctions, boucles, conditions
Bases de la programmation en Python : syntaxe, structures de contrôle, fonctions
Résumé synthétiqueFiche en 4 sectionsQuiz de 10 questionsGratuit, sans pub
Résumé
Python est un langage interprété à typage dynamique, choisi en NSI pour sa lisibilité. Une variable est un nom associé à une valeur : x = 5 crée une variable contenant l'entier 5. Les types de base sont int, float, str et bool. Les structures conditionnelles if / elif / else exécutent du code selon des conditions. Les boucles for parcourent une séquence (for i in range(10)) tandis que while répète tant qu'une condition est vraie. Les fonctions, définies avec def, factorisent et réutilisent le code. L'indentation (4 espaces) est obligatoire pour délimiter les blocs, là où d'autres langages utilisent des accolades.
Une variable est une étiquette posée sur une valeur. En Python, on n'a pas à déclarer son type : l'interpréteur le déduit automatiquement (typage dynamique). Connaître les quatre types de base et savoir convertir de l'un à l'autre est indispensable.
- Affectation : x = 5 ; Python déduit le type tout seul (typage dynamique).
- Types de base : int (42), float (3.14), str ("hello"), bool (True/False), None.
- Conversions : int("42") donne 42, str(3.14) donne "3.14", float("2.5") donne 2.5.
- Opérateurs : +, -, *, / (réelle), // (entière), % (modulo) ; la puissance s'écrit pow(2, 3) ou 2 ** 3.
- Comparaisons : ==, !=, <, >, <=, >= renvoient un booléen.
Exemple
age = int("17") convertit la chaîne "17" en entier 17. Puis 17 // 5 vaut 3 (division entière) et 17 % 5 vaut 2 (reste).
Piège à éviter
Ne confonds pas = et == : x = 5 affecte la valeur 5 à x, tandis que x == 5 teste si x vaut 5. Utiliser = dans une condition est une erreur de syntaxe en Python.
Une condition permet au programme de choisir quoi faire selon la situation. Le trio if / elif / else exécute le bloc correspondant à la première condition vraie. L'indentation détermine ce qui appartient à chaque bloc.
Une condition oriente le programme : la branche vrai ou la branche faux, puis tout converge vers la suite.
- Syntaxe : if condition: ... elif autre_condition: ... else: ...
- Indentation : 4 espaces délimitent le bloc — c'est obligatoire en Python.
- Combiner des tests : avec and, or, not pour des conditions composées.
- Forme courte : resultat = 'pair' if x % 2 == 0 else 'impair' (opérateur ternaire).
- Deux-points : chaque if, elif et else se termine par un : suivi d'un bloc indenté.
Exemple
if age >= 18:\n print('Majeur')\nelse:\n print('Mineur') affiche 'Majeur' si age vaut au moins 18, sinon 'Mineur'.
Piège à éviter
Oublier les deux-points après if / elif / else, ou mal indenter le bloc, provoque une SyntaxError ou une IndentationError. L'indentation n'est pas décorative : elle définit le bloc.
Une boucle répète des instructions. La boucle for parcourt une séquence connue d'avance (un range, une liste) ; la boucle while répète tant qu'une condition reste vraie. Choisir la bonne dépend de savoir, ou non, combien de tours faire.
- for : for i in range(n): répète n fois, avec i de 0 à n-1.
- range : range(a, b) va de a à b-1 ; range(a, b, pas) avance par pas.
- Parcours direct : for element in liste: traite chaque élément.
- while : while condition: répète tant que la condition est vraie.
- break et continue : break sort de la boucle, continue saute à l'itération suivante.
Exemple
somme = 0\nfor i in range(1, 11):\n somme = somme + i calcule la somme des entiers de 1 à 10, soit 55. range(1, 11) s'arrête à 10 inclus.
Piège à éviter
Avec while, si la condition ne devient jamais fausse, la boucle tourne à l'infini. Vérifie qu'une variable du test évolue bien vers la sortie à chaque tour.
Une fonction est un bloc de code nommé et réutilisable. On la définit une fois avec def, puis on l'appelle autant qu'on veut. Elle peut recevoir des paramètres et renvoyer un résultat avec return, ce qui permet de découper un programme en morceaux clairs.
- Définition : def ma_fonction(p1, p2): ... return resultat.
- Appel : resultat = ma_fonction(valeur1, valeur2).
- return : renvoie une valeur ; sans return, la fonction renvoie None.
- Paramètres par défaut : def saluer(nom, politesse='Bonjour'): ...
- Portée : une variable locale (définie dans la fonction) est invisible à l'extérieur.
Exemple
def carre(x):\n return x * x\n\nresultat = carre(5) range 25 dans resultat. La fonction renvoie la valeur, qu'on peut alors réutiliser dans un calcul.
Piège à éviter
Ne confonds pas print() et return : print() affiche à l'écran mais ne renvoie rien d'exploitable (None), alors que return renvoie une valeur réutilisable. Une fonction de calcul doit return, pas seulement print.
Quiz - Python : bases de la programmation
10 questions
S'entraîner
Thème complet
Voir tous les chapitres « Algorithmique et programmation » de la Seconde à la Terminale
Ce thème dans une autre classe
Articles utiles
Questions fréquentes
Les points clés à retenir sur Python : variables, fonctions, boucles, conditions, extraits du quiz de révision.
Que renvoie type(3.14) en Python ?
Réponse :
<class 'float'>
3.14 est un nombre à virgule, donc de type float.
Que vaut 17 // 5 en Python ?
Réponse :
3
// est la division entière : 17 // 5 vaut 3 (la partie entière de 3.4).
Que vaut 17 % 5 en Python ?
Réponse :
2
% est le modulo (reste) : $17 = 5\times3 + 2$, donc 17 % 5 vaut 2.
Combien de fois s'exécute for i in range(5) ?
Réponse :
5 fois
range(5) produit 0, 1, 2, 3, 4, soit 5 valeurs : la boucle tourne 5 fois.