Aller au contenu

Sciences numériques et technologie · Seconde

Variables et types en Python : exercices corrigés de Seconde

Publié le 9 novembre 2026 · Mis à jour le 9 novembre 2026 · Signaler une erreur

L'essentiel

  • Une variable reçoit une valeur par affectation : a = 5 se lit « a reçoit 5 », et la dernière valeur affectée remplace l'ancienne.2
  • Les types simples de Seconde sont int (entiers), float (flottants), bool (booléens) et str (chaînes de caractères).1
  • Le type d'une variable fixe les valeurs qu'elle peut contenir et les opérations permises ; la fonction type() le révèle.13
  • int() convertit une valeur en entier et len() donne la longueur d'une chaîne.4
  • Pour réussir un exercice de suivi de variables : écrire un tableau, une ligne par instruction, une colonne par variable.

Comment utiliser ces exercices

Ces exercices te font manipuler les variables et les types en Python, comme on le fait en SNT. Ils sont classés du plus simple au plus délicat. Les premiers vérifient que tu comprends ce que fait une affectation. Les derniers demandent de suivre plusieurs variables à la fois et de changer de type en cours de route.

Pour chacun, cherche d'abord seul, sur papier, sans lancer Python. Ouvre ensuite les indices un par un, puis la correction. Si tu disposes d'un éditeur Python, recopie le programme à la fin pour contrôler ton résultat : c'est la meilleure façon de vérifier que tu as bien compris.

Les exercices

Exercice 1 Suivre une affectation

★☆☆Environ 4 min

On exécute le programme suivant :

a = 5
b = a + 2
a = 3

Quelle est la valeur de b à la fin du programme ?

Indice 1

Calcule b au moment de l'instruction b = a + 2, avec la valeur de a à cet instant.

Indice 2

Modifier a ensuite change-t-il la valeur déjà rangée dans b ?

Voir la correction pas à pas
  1. Après a = 5, la variable a contient 5.

  2. Pour b = a + 2, Python calcule d'abord 5+2=75 + 2 = 7 puis range 7 dans b.

  3. Avec a = 3, on remplace la valeur de a : elle vaut maintenant 3.

  4. La variable b n'est pas recalculée : elle garde 7.

À la fin, a vaut 3 et b vaut 7. Retiens qu'une variable garde la valeur de sa dernière affectation, et qu'une affectation ne crée pas de lien durable entre deux variables.

Exercice 2 Reconnaître les types

★☆☆Environ 5 min

Donne le type Python (int, float, bool ou str) de chacune des valeurs suivantes :

  1. 7
  2. 7.0
  3. "7"
  4. 7 > 3
  5. "vrai"
Indice 1

Regarde si la valeur est entourée de guillemets, si elle contient un point décimal, ou si c'est le résultat d'une comparaison.

Indice 2

Un test de comparaison renvoie une réponse du type vrai ou faux.

Voir la correction pas à pas
  1. 7 est un nombre entier sans virgule : type int.

  2. 7.0 s'écrit avec un point décimal : c'est un nombre flottant, type float, même si sa partie décimale est nulle.

  3. "7" est entouré de guillemets : c'est un texte, type str, et non un nombre.

  4. 7 > 3 est un test dont le résultat est vrai ou faux : c'est un booléen, type bool.

  5. "vrai" est entouré de guillemets : c'est une chaîne, type str. Ce n'est pas le booléen True.

Les réponses sont int, float, str, bool, str. L'écriture compte autant que le sens : 7, 7.0 et "7" évoquent le même nombre pour toi, mais Python les traite comme trois valeurs de types différents. Tu peux le vérifier en appelant type() sur chacune.

Exercice 3 Affecter plusieurs variables d'un coup

★☆☆Environ 5 min

Un élève écrit :

a, b = 0.5, 60
c = a * b
  1. Quelle est la valeur de c ?
  2. Quel est le type de a, celui de b et celui de c ?
Indice 1

La première ligne affecte 0.5 à a et 60 à b, dans l'ordre d'écriture.

Indice 2

Un nombre écrit avec un point décimal est un flottant.

Voir la correction pas à pas
  1. La ligne a, b = 0.5, 60 range 0.5 dans a et 60 dans b.

  2. On calcule c=0,5×60=30c = 0{,}5 \times 60 = 30.

  3. a contient 0.5 : type float. b contient 60 : type int.

  4. Le produit d'un flottant par un entier donne un flottant : c est de type float et s'affiche 30.0.

La valeur de c est 30, affichée 30.0 par Python, de type float. Une affectation multiple écrit sur une seule ligne ce qu'on pourrait faire en deux instructions séparées.

Exercice 4 Mesurer une chaîne

★★☆Environ 6 min

On écrit :

phrase = "Bonjour le monde"
n = len(phrase)

Quelle est la valeur de n ? Précise le type de phrase et celui de n.

Indice 1

La fonction len() renvoie la longueur d'une chaîne de caractères.

Indice 2

Les espaces sont des caractères comme les autres : compte-les aussi.

Voir la correction pas à pas
  1. phrase est entourée de guillemets : c'est une str.

  2. Compte les lettres de chaque mot : « Bonjour » en a 7, « le » en a 2, « monde » en a 5, soit 14 lettres.

  3. Il y a deux espaces, un entre chaque mot.

  4. Total : 7+2+5+2=167 + 2 + 5 + 2 = 16 caractères.

  5. La longueur est un nombre entier : n est de type int.

n vaut 16. L'erreur classique est d'oublier les espaces et de répondre 14. Un espace occupe une place dans la chaîne, au même titre qu'une lettre.

Exercice 5 Échanger deux variables

★★☆Environ 8 min

On part de x = 4 et y = 9. On exécute ensuite :

t = x
x = y
y = t
  1. Quelles sont les valeurs finales de x et de y ?
  2. Calcule x - y à la fin.
  3. Que se passerait-il si on supprimait la variable t et qu'on écrivait seulement x = y puis y = x ?
Indice 1

Dresse un tableau avec trois colonnes : x, y, t.

Indice 2

Pour la question 3, regarde ce que contient x juste après x = y.

Voir la correction pas à pas
  1. Au départ : x = 4, y = 9. La variable t n'existe pas encore.

  2. t = x : t reçoit 4. On met ainsi l'ancienne valeur de x à l'abri.

  3. x = y : x reçoit 9. L'ancienne valeur 4 n'est plus dans x, mais elle est conservée dans t.

  4. y = t : y reçoit 4.

  5. Valeurs finales : x = 9 et y = 4, donc x−y=9−4=5x - y = 9 - 4 = 5.

  6. Sans t : après x = y, les deux variables valent 9. La valeur 4 est perdue, et y = x range 9 dans y. Les deux variables finissent à 9.

Après l'échange, x - y vaut 5. La variable t, dite temporaire, sert à ne pas écraser une valeur dont on a encore besoin. Dès qu'une affectation remplace une valeur, l'ancienne disparaît.

Exercice 6 Convertir un texte en nombre

★★☆Environ 7 min

Un programme lit un prix sous forme de texte :

prix_texte = "12"
prix = int(prix_texte)
total = prix * 3
  1. Quel est le type de prix_texte ? Quel est celui de prix ?
  2. Que vaut total ?
  3. Pourquoi la conversion est-elle nécessaire pour calculer un total en euros ?
Indice 1

La fonction int() convertit une valeur en nombre entier.

Indice 2

Un calcul de total suppose un type numérique.

Voir la correction pas à pas
  1. prix_texte est entouré de guillemets : type str. Il contient les caractères « 1 » et « 2 », pas le nombre douze.

  2. int(prix_texte) le convertit en nombre entier : prix est de type int et vaut 12.

  3. On calcule total=12×3=36\text{total} = 12 \times 3 = 36.

  4. La conversion est nécessaire parce que le type d'une variable fixe les opérations possibles : une somme d'argent se calcule avec des nombres, pas avec des chaînes de caractères.

total vaut 36, soit 36 euros si le prix est exprimé en euros. Retiens le réflexe : quand une donnée arrive sous forme de texte et qu'on veut calculer, on la convertit d'abord.

Exercice 7 Calculer une moyenne de notes

★★★Environ 10 min

Voici un programme qui calcule la moyenne de trois contrôles :

n1 = 12
n2 = 15.5
n3 = 8.5
somme = n1 + n2 + n3
moyenne = somme / 3
reussi = moyenne >= 10
  1. Donne le type de n1, n2, somme, moyenne et reussi.
  2. Calcule la valeur de moyenne.
  3. Que vaut reussi ?
Indice 1

Une variable qui contient un nombre à virgule est un flottant ; un test de comparaison donne un booléen.

Indice 2

Additionne d'abord les trois notes, puis divise par 3.

Voir la correction pas à pas
  1. n1 vaut 12, sans virgule : type int. n2 vaut 15.5 : type float. n3 vaut 8.5 : type float.

  2. Calcul de la somme : 12+15,5+8,5=3612 + 15{,}5 + 8{,}5 = 36. Comme deux des nombres sont des flottants, somme est de type float et s'affiche 36.0.

  3. Calcul de la moyenne : 363=12\dfrac{36}{3} = 12. La variable moyenne est de type float et s'affiche 12.0.

  4. La ligne reussi = moyenne >= 10 compare 12.0 à 10. Le test est vrai, donc reussi vaut True, et son type est bool.

La moyenne vaut 12 (affichée 12.0) et reussi vaut True. Dans ce programme, trois types apparaissent selon la nature des valeurs : entier, flottant, puis booléen pour le résultat du test.

Exercice 8 Suivre un programme complet

★★★Environ 10 min

Voici un programme :

n = 10
n = n + 5
n = n * 2
m = n - 7
n = m
  1. Construis le tableau de suivi de n et de m.
  2. Quelle est la valeur finale de n ?
  3. Peut-on écrire n = n + 5 en mathématiques ? Et en programmation ? Explique la différence.
Indice 1

Dans n = n + 5, le membre de droite est calculé avec l'ancienne valeur de n.

Indice 2

Pour la question 3, souviens-toi de ce que signifie la flèche « ← » du pseudo-code.

Voir la correction pas à pas
  1. n = 10 : n vaut 10, m n'existe pas encore.

  2. n = n + 5 : on calcule 10+5=1510 + 5 = 15, puis on range 15 dans n.

  3. n = n * 2 : on calcule 15×2=3015 \times 2 = 30, puis n vaut 30.

  4. m = n - 7 : on calcule 30−7=2330 - 7 = 23, donc m vaut 23 et n vaut toujours 30.

  5. n = m : n reçoit la valeur de m, donc n vaut 23.

  6. Question 3 : en mathématiques, n=n+5n = n + 5 est une égalité impossible, car aucun nombre n'est égal à lui-même augmenté de 5. En programmation, c'est une affectation : on calcule le membre de droite avec la valeur actuelle de n, puis on range le résultat dans n. En pseudo-code, on l'écrirait « n ← n + 5 ».

La valeur finale de n est 23. Le tableau de suivi évite les erreurs : une ligne par instruction, et on ne lit jamais une valeur qui a déjà été remplacée.

Les questions qu'on se pose

Pourquoi `7`, `7.0` et `"7"` ne sont-ils pas la même chose en Python ?

Ils représentent des valeurs de types différents : 7 est un entier (int), 7.0 un flottant (float) et "7" une chaîne de caractères (str).1 Le type détermine les opérations possibles avec la valeur.1 Pour voir le type d'une valeur, utilise la fonction type().3

Comment savoir quelle valeur contient une variable à un endroit du programme ?

Lis les instructions dans l'ordre et note la valeur de chaque variable après chacune, dans un tableau de suivi. Une variable garde la valeur de sa dernière affectation.2 Pour une instruction comme n = n + 1, calcule le membre de droite avec l'ancienne valeur, puis range le résultat.

Quand faut-il convertir une valeur avec `int()` ?

Il faut convertir quand une donnée est de type texte mais que tu veux calculer avec elle. La fonction int() convertit une valeur en nombre entier.4 Si le texte ne représente pas un entier, la conversion ne peut pas réussir : vérifie d'abord ce que contient la chaîne.

Sources

Programme visé : Sciences numériques et technologie - Seconde - Programmation en Python · Éduscol

  1. Sciences numériques et technologie - Seconde - Programmation en Python, Éduscol. Consulté le 9 novembre 2026.
  2. Ressources pédagogiques SNT - Programmation Python, Éduscol. Consulté le 9 novembre 2026.
  3. COURS Python SNT - Programmation en Python pour Sciences numériques et technologie, Académie de Normandie. Consulté le 9 novembre 2026.
  4. Mémento Python - Premiers pas avec Python SNT, Académie de Lyon. Consulté le 9 novembre 2026.
  5. Écart type, Wikipédia. Consulté le 9 novembre 2026.
  6. Variable qualitative, Wikipédia. Consulté le 9 novembre 2026.

Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.

Signaler une erreur sur cette page

Je suis en…

Primaire

  • CP Bientôt
  • CE1 Bientôt
  • CE2
  • CM1
  • CM2 Bientôt

Collège

Lycée

Supérieur

  • BTS Bientôt
  • BUT Bientôt
  • Licence Bientôt
  • Prépas Bientôt

Sur cette page