Mathématiques · Seconde

Comment prévoir exactement ce qu’un programme Python va faire ?

Cours interactif de seconde pour lire et écrire variables, affectations, conditions, boucles for et while en Python.

  1. Comprendre
  2. Mettre en pratique
  3. Vérifier
  4. Mémoriser
  • 6activités interactives
  • 8questions de quiz
  • 6cartes de révision
  • 3sources citées

Ce que tu vas savoir faire

  • Choisir et reconnaître int, bool, float et str.
  • Suivre une affectation sans la confondre avec une égalité.
  • Construire une table de trace d’une séquence.
  • Lire et écrire une instruction conditionnelle indentée.
  • Prévoir les valeurs parcourues par range dans une boucle for.
  • Justifier l’arrêt ou repérer la non-terminaison d’une boucle while.

Avant de commencer

  • Calculer une expression numérique simple.
  • Comparer deux nombres.
  • Comprendre les mots si, sinon et tant que.
Le chapitre en bref

Pour prévoir un programme, on suit ses instructions dans l’ordre et on note l’état des variables après chaque ligne. Une affectation remplace une valeur ; une condition choisit un bloc ; une boucle for répète un nombre déterminé de fois ; une boucle while répète tant qu’une condition reste vraie. Types, bornes de range, indentation et évolution de la condition doivent être contrôlés avant l’exécution.

1. Pourquoi le type d’une variable change-t-il ce que Python comprend ?

Une variable associe un nom à une valeur courante. Le type int représente un entier, bool une valeur True ou False, float une approximation décimale et str une chaîne de caractères. La valeur 7 et le texte "7" n’acceptent pas les mêmes opérations.

Un flottant n’est pas un nombre réel exact : son stockage fini peut produire de petits écarts d’arrondi. Le type doit correspondre au sens des données, pas seulement à leur apparence à l’écran.

Quel type décrit la valeur ?

x = 7Valeur : 7type(x) → int

Le type détermine les opérations permises et le sens de la valeur.

2. Pourquoi x = x + 1 est-il possible en Python ?

En mathématiques, x=x+1 est impossible. En Python, le signe = est une affectation : le membre de droite est calculé avec l’état actuel, puis le résultat remplace la valeur associée au nom de gauche. La comparaison d’égalité s’écrit ==.

Si y=x+3 puis x change, y conserve la valeur calculée au moment de son affectation. Une variable n’est donc pas automatiquement liée aux variables qui ont servi à la calculer.

Quelle valeur chaque variable contient-elle maintenant ?

x = 4 y = x + 3 x = 10x=10 ; y=7y ne change pas rétroactivement

Une affectation évalue d’abord la droite puis remplace la valeur à gauche.

3. Comment suivre une séquence sans deviner ?

Python exécute normalement les lignes de haut en bas. Une table de trace comporte une ligne par instruction et une colonne par variable utile. Elle rend visibles les anciennes valeurs, les mises à jour et le moment exact d’un affichage ou d’une erreur.

Le texte placé après # est un commentaire et n’agit pas sur l’état. Si une opération combine des types incompatibles, l’exécution s’arrête : les lignes suivantes ne produisent aucun résultat.

Dans quel ordre le programme agit-il ?

a = 2 b = 3*a a = a+1Après ligne 2 : a=2 ; b=6Fin : a=3 ; b=6

Une table de trace évite de lire le code comme une formule simultanée.

4. Comment une condition choisit-elle le bon bloc ?

L’expression après if est évaluée en booléen. Si elle vaut True, le bloc indenté est exécuté ; sinon, le bloc else éventuel l’est. Les deux-points introduisent le bloc et l’indentation en fixe les limites.

Teste les valeurs frontières : x>5 et x>=5 diffèrent précisément pour x=5. Des conditions ordonnées permettent aussi de découper tous les cas sans chevauchement ni oubli.

Quel bloc est réellement exécuté ?

x = 7 if x >= 5: resultat = "haut" else: resultat = "bas"Condition vraieresultat = "haut"

La condition choisit une branche ; l’indentation en fixe exactement le contenu.

5. Combien de fois range fait-il vraiment tourner for ?

La boucle for est adaptée lorsque le nombre de répétitions est déterminé. range(n) fournit 0,1,…,n−1 : il contient n entiers si n est positif. range(a,b) commence à a et s’arrête avant b.

Pour éviter l’erreur d’un tour, écris les premières et dernières valeurs de l’indice avant de calculer. Après chaque tour, mets à jour le compteur ou l’accumulateur dans la table de trace.

Combien de tours la boucle effectue-t-elle ?

total = 0 for i in range(4): total = total + ii : 0, 1, 2, 3total = 6

Une boucle for convient quand le nombre d’itérations est déterminé.

6. Comment savoir qu’une boucle while finira ?

La boucle while convient lorsque le nombre de tours dépend d’une condition. Avant de l’écrire, identifie la variable testée, la manière dont elle évolue et une raison pour laquelle la condition deviendra fausse.

Si la variable de contrôle ne change pas, la boucle peut être infinie. Si la condition est fausse dès le départ, le bloc est exécuté zéro fois. Une simulation manuelle des premiers tours permet de repérer ces deux cas.

Pourquoi la boucle finit-elle ?

x = 1 while x < 20: x = 2*x1 → 2 → 4 → 8 → 16 → 32Arrêt : 32 n’est pas <20

Identifie la condition, la variable qui évolue et l’argument d’arrêt.

Erreurs fréquentes

L'essentiel à mémoriser

  • Types qualifiés.
  • Affectations tracées.
  • Séquences ordonnées.
  • Conditions bornées.
  • Boucles for comptées.
  • Boucles while terminées.

Vérifier sa compréhension

Réponds aux 8 questions. Ton score et les réponses justes ou fausses apparaissent immédiatement.

1. Quel est le type de x après x="12" ?
2. Après x=4, y=x+2, x=10, quelle est la valeur de y ?
3. Quel opérateur compare deux valeurs en Python ?
4. Quelles valeurs parcourt range(3) ?
5. Quel bloc est exécuté si la condition d’un if vaut False et qu’un else existe ?
6. Pourquoi l’indentation est-elle essentielle ?
7. Quel contrôle évite souvent une boucle while infinie ?
8. Les listes sont-elles un prérequis attendu par le programme 2026 de seconde ?

Réviser au bon moment

Révèle chaque réponse, puis indique la difficulté de ton rappel pour programmer la prochaine révision dans ce navigateur.

Quatre types attendus ?

Prochaine révision : à programmer

Ordre d’une affectation ?

Prochaine révision : à programmer

= ou == ?

Prochaine révision : à programmer

Valeurs de range(n) ?

Prochaine révision : à programmer

Rôle de l’indentation ?

Prochaine révision : à programmer

Audit d’un while ?

Prochaine révision : à programmer

Poursuivre le parcours

  1. Avant Comment lire les ensembles et construire un raisonnement logique ?
  2. Tu es ici Comment prévoir exactement ce qu’un programme Python va faire ?
  3. Ensuite Comment construire une fonction Python fiable et réutilisable ? Disponible avec l'accès complet

Sources et traçabilité

Dernière vérification : 2026-08-09

  1. Programme d’enseignement de mathématiques de la classe de seconde générale et technologique, Ministère de l’Éducation nationale — consulté le 2026-08-09.
  2. Annexe — Programme de mathématiques de seconde 2026, Ministère de l’Éducation nationale — consulté le 2026-08-09.
  3. Programmes et ressources en mathématiques — voie générale et technologique, Éduscol — consulté le 2026-08-09.

Tu sais désormais tracer l’état d’un programme

Construis maintenant des fonctions réutilisables.

Le prochain chapitre relie arguments, valeur renvoyée, aléatoire et statistiques sans imposer les listes comme prérequis.

  • Types distingués
  • Boucles prévues avant exécution
  • Terminaison auditée