Fiche de cours Logimaths | 1ère spécialité

Fiche de cours : Algo au lycée (Python)

Variables, boucles, fonctions : le Python qui sert vraiment en maths

I. Variables et affectation


Le = de Python n'est pas celui des maths x = 3 signifie « range la valeur 3 dans la boîte x » (une affectation, pas une équation).
Conséquence : x = x + 1 est absurde en maths mais parfaitement logique en Python : « prends la valeur actuelle de x, ajoute 1, range le résultat dans x » : la boîte est écrasée.
Le test d'égalité, lui, s'écrit avec DEUX signes : x == 3.
Dérouler un programme à la main La compétence n°1 des sujets : suivre les valeurs pas à pas dans un tableau.
x = 5, puis x = 2*x - 3 exécuté deux fois : x vaut 5, puis 7, puis 11. Chaque ligne se lit avec les valeurs du moment, jamais avec celles du début.
🎮 Entraîne-toi : dérouler un programme
Suis la boîte x valeur par valeur, ligne par ligne.

II. Les boucles for et le range


for k in range(...)
  • range(n) parcourt 0, 1, …, n − 1 : la boucle tourne n fois (et s'arrête AVANT n : le piège du chapitre) ;
  • range(a, b) parcourt a, a + 1, …, b − 1 : soit b − a tours ;
  • usage typique : accumuler (s = s + k) ou faire avancer une suite (u = 2*u + 1).
Exemple rédigé : une somme s = 0 puis for k in range(1, 5): s = s + k :
k prend les valeurs 1, 2, 3, 4 (pas 5 !) : s vaut 1, 3, 6, puis 10. Le programme calcule 1 + 2 + 3 + 4.
🎮 Entraîne-toi : combien de tours ?
range(n) = n tours ; range(a, b) = b − a tours, b exclu.

III. Conditions et while


if / else et la boucle while
  • if condition: exécute le bloc indenté si la condition est vraie, else: sinon ;
  • while condition: répète TANT QUE la condition est vraie : idéal quand on ignore le nombre de tours à l'avance (recherches de seuil) ;
  • ⚠️ un while dont la condition ne devient jamais fausse tourne pour toujours : vérifie que quelque chose ÉVOLUE dans le corps de la boucle.
Le script de seuil, grand classique des suites « Au bout de combien d'années le capital dépasse-t-il 2000 € ? » :
u = 1000, n = 0, puis while u < 2000: u = 1.05*u ; n = n + 1 : à la sortie, n contient le premier rang où u ≥ 2000.
La condition du while est celle de la POURSUITE (u < 2000), pas celle de l'objectif : l'inversion est l'erreur la plus fréquente.
🎮 Entraîne-toi : qu'affiche le programme ?
Évalue la condition avec les valeurs du moment, puis choisis la branche.

IV. Les fonctions


def, return et les arguments def f(x): return 2*x + 1 définit une fonction Python : f(3) renvoie 7.
Une fonction peut traduire une formule (image d'une fonction mathématique), calculer un terme de suite, ou simuler une expérience aléatoire (avec random).
return interrompt la fonction et renvoie la valeur : tout ce qui suit un return exécuté est ignoré.
⚠️ Le vocabulaire du bac « Que renvoie f(4) ? » = déroule la fonction avec x = 4. « Que fait ce programme ? » = identifie l'objet mathématique calculé (une somme, un terme de suite, un seuil, une moyenne…). Réponds en termes MATHÉMATIQUES, pas en paraphrasant le code ligne à ligne.
👆 À toi : def f(x): return x*x − 4. Que renvoie f(5) ? Et que calcule f en maths ? Vérifie
f(5) renvoie 25 − 4 = 21. La fonction calcule l'image de x par x \mapsto x^2 - 4.
🎮 Entraîne-toi : que renvoie la fonction ?
Remplace l'argument dans la formule du return.