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 = 5se 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 etlen()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
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
Après
a = 5, la variableacontient 5.Pour
b = a + 2, Python calcule d'abord puis range 7 dansb.Avec
a = 3, on remplace la valeur dea: elle vaut maintenant 3.La variable
bn'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
Donne le type Python (int, float, bool ou str) de chacune des valeurs suivantes :
77.0"7"7 > 3"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
7est un nombre entier sans virgule : typeint.7.0s'écrit avec un point décimal : c'est un nombre flottant, typefloat, même si sa partie décimale est nulle."7"est entouré de guillemets : c'est un texte, typestr, et non un nombre.7 > 3est un test dont le résultat est vrai ou faux : c'est un booléen, typebool."vrai"est entouré de guillemets : c'est une chaîne, typestr. Ce n'est pas le booléenTrue.
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
Un élève écrit :
a, b = 0.5, 60
c = a * b
- Quelle est la valeur de
c? - Quel est le type de
a, celui debet celui dec?
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
La ligne
a, b = 0.5, 60range 0.5 dansaet 60 dansb.On calcule .
acontient 0.5 : typefloat.bcontient 60 : typeint.Le produit d'un flottant par un entier donne un flottant :
cest de typefloatet s'affiche30.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
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
phraseest entourée de guillemets : c'est unestr.Compte les lettres de chaque mot : « Bonjour » en a 7, « le » en a 2, « monde » en a 5, soit 14 lettres.
Il y a deux espaces, un entre chaque mot.
Total : caractères.
La longueur est un nombre entier :
nest de typeint.
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
On part de x = 4 et y = 9. On exécute ensuite :
t = x
x = y
y = t
- Quelles sont les valeurs finales de
xet dey? - Calcule
x - yà la fin. - Que se passerait-il si on supprimait la variable
tet qu'on écrivait seulementx = ypuisy = 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
Au départ :
x= 4,y= 9. La variabletn'existe pas encore.t = x:treçoit 4. On met ainsi l'ancienne valeur dexà l'abri.x = y:xreçoit 9. L'ancienne valeur 4 n'est plus dansx, mais elle est conservée danst.y = t:yreçoit 4.Valeurs finales :
x= 9 ety= 4, donc .Sans
t: aprèsx = y, les deux variables valent 9. La valeur 4 est perdue, ety = xrange 9 dansy. 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
Un programme lit un prix sous forme de texte :
prix_texte = "12"
prix = int(prix_texte)
total = prix * 3
- Quel est le type de
prix_texte? Quel est celui deprix? - Que vaut
total? - 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
prix_texteest entouré de guillemets : typestr. Il contient les caractères « 1 » et « 2 », pas le nombre douze.int(prix_texte)le convertit en nombre entier :prixest de typeintet vaut 12.On calcule .
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
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
- Donne le type de
n1,n2,somme,moyenneetreussi. - Calcule la valeur de
moyenne. - 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
n1vaut 12, sans virgule : typeint.n2vaut 15.5 : typefloat.n3vaut 8.5 : typefloat.Calcul de la somme : . Comme deux des nombres sont des flottants,
sommeest de typefloatet s'affiche36.0.Calcul de la moyenne : . La variable
moyenneest de typefloatet s'affiche12.0.La ligne
reussi = moyenne >= 10compare 12.0 à 10. Le test est vrai, doncreussivautTrue, et son type estbool.
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
Voici un programme :
n = 10
n = n + 5
n = n * 2
m = n - 7
n = m
- Construis le tableau de suivi de
net dem. - Quelle est la valeur finale de
n? - Peut-on écrire
n = n + 5en 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
n = 10:nvaut 10,mn'existe pas encore.n = n + 5: on calcule , puis on range 15 dansn.n = n * 2: on calcule , puisnvaut 30.m = n - 7: on calcule , doncmvaut 23 etnvaut toujours 30.n = m:nreçoit la valeur dem, doncnvaut 23.Question 3 : en mathématiques, 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 dansn. 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 ?
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
- Sciences numériques et technologie - Seconde - Programmation en Python, Éduscol. Consulté le 9 novembre 2026.
- Ressources pédagogiques SNT - Programmation Python, Éduscol. Consulté le 9 novembre 2026.
- COURS Python SNT - Programmation en Python pour Sciences numériques et technologie, Académie de Normandie. Consulté le 9 novembre 2026.
- Mémento Python - Premiers pas avec Python SNT, Académie de Lyon. Consulté le 9 novembre 2026.
- Écart type, Wikipédia. Consulté le 9 novembre 2026.
- 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.