Programmer en Python, c'est décrire un calcul avec une précision telle qu'une machine peut l'exécuter. Les cinq briques du programme — variables, conditions, boucle bornée, boucle non bornée, fonctions — suffisent à écrire tous les algorithmes du lycée. La compétence clé n'est pas d'écrire vite, mais de savoir prévoir ce qu'un programme affiche.
Variables et affectation
Variable et types
Une variable est un nom qui désigne une valeur en mémoire. En Python, chaque valeur a un type :
- int : entier, comme 7 ou -3 ;
- float : nombre décimal, comme 2.5 (avec un point, pas une virgule) ;
- bool : booléen, True ou False ;
- str : chaîne de caractères, comme "bonjour" (entre guillemets).
Affectation
L'instruction a = 5 affecte la valeur à la variable a : le signe = n'est pas une égalité mathématique mais un ordre, « range cette valeur dans cette boîte ».
Ainsi la suite d'instructions a = 5 puis a = a + 2 est parfaitement légale : on calcule d'abord la valeur de droite (), puis on la range dans a, qui vaut désormais . Le test d'égalité, lui, s'écrit avec un double signe : a == 7.
Suivre une variable à la trace
Pour prévoir ce qu'affiche un programme, tenez un tableau d'évolution : une colonne par variable, une ligne par instruction exécutée. C'est la méthode systématique — l'erreur classique est de lire le programme « en gros » au lieu de l'exécuter ligne par ligne, dans l'ordre, comme la machine.
Conditions et boucles
Instruction conditionnelle
L'instruction conditionnelle exécute un bloc seulement si une condition est vraie :
if x > 0:
print("positif")
elif x == 0:
print("nul")
else:
print("négatif")
La condition utilise les comparaisons ==, !=, <, <=, >, >= et les connecteurs and, or, not. Le bloc concerné est délimité par l'indentation (le décalage vers la droite), qui fait partie de la syntaxe de Python.
Boucle bornée, boucle non bornée
La boucle bornée for répète un bloc un nombre de fois connu d'avance :
for i in range(5):
print(i)
affiche , , , , — attention, range(5) part de et s'arrête avant .
La boucle non bornée while répète tant qu'une condition reste vraie :
n = 1
while n <= 100:
n = 2 * n
On l'emploie quand le nombre de répétitions n'est pas connu d'avance : ici, chercher la première puissance de dépassant .
La boucle infinie
Si la condition d'un while ne devient jamais fausse, le programme ne s'arrête pas. Avant d'écrire une boucle non bornée, vérifiez qu'une instruction du bloc modifie une variable de la condition, et dans le bon sens. Un while n > 0 dont le corps ne fait jamais décroître n tournera pour toujours.
Prévoir un affichage
Que vaut s à la fin de ce programme ?
s = 0
for i in range(4):
s = s + i
Tableau d'évolution : au départ s vaut ; pour i valant , s devient ; pour i valant , s devient ; pour i valant , s devient ; pour i valant , s devient .
À la fin, s vaut : le programme a calculé .
Fonctions
Définir et appeler une fonction
Une fonction regroupe un traitement sous un nom, avec des paramètres en entrée et un résultat renvoyé par return :
def image(x):
return 2 * x + 1
L'appel image(3) renvoie . Une fonction Python peut ainsi représenter une fonction mathématique — même vocabulaire, même idée d'entrée et de sortie.
return n'est pas print
print affiche une valeur à l'écran mais ne la transmet à personne ; return la renvoie au programme, qui peut la ranger dans une variable ou la réutiliser dans un calcul : y = image(3) + 1 fonctionne avec return, pas avec print.
Autre effet : return interrompt immédiatement la fonction — tout ce qui le suit dans le bloc n'est jamais exécuté.
Traduire un algorithme en Python
Du texte de l'énoncé au programme qui tourne :
- 1
Repérer les données d'entrée (paramètres), le résultat attendu (valeur renvoyée) et les variables intermédiaires.
- 2
Choisir les structures : un test pour une alternative, for pour un nombre de répétitions connu, while sinon.
- 3
Écrire le programme, puis l'exécuter à la main sur un petit exemple dont on connaît la réponse, avec un tableau d'évolution.
À retenir
Quatre types de base : int, float, bool, str ; le signe = affecte, le double == compare.
L'indentation délimite les blocs : elle fait partie de la syntaxe.
range(n) parcourt les entiers de à : la borne de droite est exclue.
for quand le nombre de répétitions est connu, while sinon — en s'assurant que la condition finira par devenir fausse.
return renvoie une valeur réutilisable et interrompt la fonction ; print ne fait qu'afficher.
Pour prévoir un affichage : exécuter le programme à la main, ligne par ligne, avec un tableau d'évolution des variables.