Variables et affectation en Python

Définition, méthode pas à pas, exemple corrigé et exercice type contrôle de Seconde.

Maths Seconde Lecture : 5 min Programme officiel 2019

En programmation, une variable est un espace de stockage nommé en mémoire qui permet de conserver une valeur. L'affectation est l'opération qui consiste à donner une valeur à une variable. En Python, l'affectation se fait à l'aide du signe égal ($=$).

Bon réflexe : Donne toujours des noms explicites à tes variables pour rendre ton code plus facile à comprendre et à maintenir.
1

Choisir un nom de variable

Le nom doit être explicite et respecter les règles de nommage de Python (commencer par une lettre ou un underscore, ne contenir que des lettres, chiffres ou underscores, ne pas être un mot-clé réservé). Par exemple : age, prix_unitaire, _compteur.

2

Affecter une valeur

Utiliser l'opérateur d'affectation $=$ pour associer une valeur à la variable. La valeur peut être un nombre (entier ou décimal), une chaîne de caractères, un booléen, etc. Par exemple : age = 16, prix = 12.50, nom = "Alice".

3

Utiliser la variable

Une fois affectée, la variable peut être utilisée dans des calculs, des affichages ou d'autres opérations. La valeur stockée est celle qui a été affectée en dernier. Par exemple : print(age), total = prix * quantite.

4

Modifier la valeur d'une variable

Il est possible de changer la valeur d'une variable en lui affectant une nouvelle valeur. La nouvelle valeur remplace l'ancienne. Par exemple : compteur = 0 puis compteur = compteur + 1.

On souhaite calculer le prix total d'un article après application d'une remise. Le prix initial est $50$ euros et la remise est de $10$%.
1
Définir le prix initial de l'article.
On crée une variable prix_initial et on lui affecte la valeur $50$.
prix_initial = 50
2
Définir le taux de remise.
On crée une variable taux_remise et on lui affecte la valeur $0{,}10$ (pour $10$%).
taux_remise = 0.10
3
Calculer le montant de la remise.
On calcule la remise en multipliant le prix initial par le taux de remise, et on stocke le résultat dans une variable montant_remise.
montant_remise = prix_initial * taux_remise
Après cette ligne, montant_remise contient $50 × 0{,}10 = 5{,}0$.
4
Calculer le prix final après remise.
On soustrait le montant de la remise au prix initial pour obtenir le prix final, stocké dans prix_final.
prix_final = prix_initial - montant_remise
Après cette ligne, prix_final contient $50 - 5 = 45{,}0$.
5
Afficher le prix final.
On utilise la fonction print() pour afficher la valeur de prix_final.
print(prix_final)
Le programme affichera :
45.0
  1. L'opérateur $=$ est utilisé pour l'affectation (donner une valeur à une variable). Par exemple : x = 5.
  2. L'opérateur $==$ est utilisé pour la comparaison (vérifier si deux valeurs sont égales). Il renvoie True ou False. Par exemple : if x == 5:.
  3. Utiliser $==$ au lieu de $=$ pour une affectation provoque une erreur de syntaxe. Utiliser $=$ au lieu de $==$ dans une condition peut modifier la variable au lieu de la tester.
Écrire un programme Python qui :
  1. Demande à l'utilisateur son prénom et le stocke dans une variable prenom.
  2. Demande à l'utilisateur son âge et le stocke dans une variable age.
  3. Calcule l'année de naissance approximative de l'utilisateur (en considérant que l'année actuelle est $2024$) et la stocke dans une variable annee_naissance.
  4. Affiche un message du type : "Bonjour [prénom], vous êtes né(e) en [année de naissance]."
Voici le programme Python corrigé :
# 1. Demander le prénom et l'affecter à la variable 'prenom'
prenom = input("Quel est votre prénom ? ")

# 2. Demander l'âge, le convertir en entier et l'affecter à la variable 'age'
age_str = input("Quel est votre âge ? ")
age = int(age_str)

# 3. Calculer l'année de naissance approximative
annee_actuelle = 2024
annee_naissance = annee_actuelle - age

# 4. Afficher le message
print("Bonjour ", prenom, ", vous êtes né(e) en ", annee_naissance, ".")
Explication :
  • La fonction input() permet de demander une valeur à l'utilisateur. Elle renvoie toujours une chaîne de caractères.
  • Pour effectuer des calculs avec l'âge, il est nécessaire de le convertir en nombre entier à l'aide de la fonction int().
  • La variable annee_actuelle est initialisée à $2024$.
  • La variable annee_naissance est calculée par soustraction.
  • La fonction print() peut afficher plusieurs éléments séparés par des virgules ; elle ajoute un espace entre chaque élément par défaut.

Questions fréquentes

Quels types de valeurs une variable peut-elle stocker ?
Une variable peut stocker différents types de données : des nombres entiers (int, ex: $5$), des nombres décimaux (float, ex: $3{,}14$), des chaînes de caractères (str, ex: "Bonjour"), des booléens (bool, True ou False), et bien d'autres types plus complexes.
Peut-on changer le type d'une variable en Python ?
Oui, Python est un langage à typage dynamique. Cela signifie qu'une variable peut changer de type au cours de l'exécution du programme. Par exemple, si vous affectez d'abord un entier à une variable (x = 10), puis une chaîne de caractères (x = "texte"), le type de x change automatiquement.
Est-il obligatoire de déclarer le type d'une variable avant de l'utiliser ?
Non, en Python, il n'est pas nécessaire de déclarer explicitement le type d'une variable avant de l'utiliser. Le type est automatiquement déduit lors de l'affectation de la valeur. C'est une différence majeure avec des langages comme C++ ou Java.
Que se passe-t-il si j'utilise une variable sans lui avoir affecté de valeur ?
Si vous tentez d'utiliser une variable à laquelle aucune valeur n'a été affectée, Python générera une erreur NameError, indiquant que le nom de la variable n'est pas défini. Il faut toujours affecter une valeur à une variable avant de l'utiliser.

Le passage en Seconde est difficile ?

Adil accompagne les élèves de Seconde, à domicile dans le Val d'Oise ou en ligne. Un seul prof, du premier cours jusqu'au Bac.

06 20 13 00 82 Cours de maths en Seconde →