Variables et types en Python | Mathématiques Seconde
Introduction
Découvrez les variables et les types de données en Python
Introduction aux variables
Qu'est-ce qu'une variable ?
Une variable est un espace de stockage dans la mémoire de l'ordinateur qui contient une valeur. En Python, une variable est comme une boîte dans laquelle vous pouvez ranger une valeur et lui donner un nom.
Imaginez une variable comme un tiroir étiqueté dans lequel vous pouvez placer et retrouver des objets (valeurs). Le nom de la variable est l'étiquette du tiroir.
- 1 Ont un nom unique dans leur portée
- 2 Stockent une valeur d'un certain type
- 3 Peuvent être modifiées durant l'exécution du programme
- 4 Doivent respecter certaines règles de nommage
En Python, créer une variable est très simple : il suffit de lui attribuer une valeur avec le signe égal (=).
nom = "Alice"
age = 16
moyenne = 14.5
Règles de nommage
Nommer ses variables
- Les noms de variables ne peuvent contenir que des lettres (a-z, A-Z), des chiffres (0-9) et des tirets bas (_)
- Ne peuvent pas commencer par un chiffre
- Ne doivent pas être des mots-clés réservés (if, else, while, for, etc.)
- Sont sensibles à la casse (nom et Nom sont différents)
# Noms valides
prenom = "Marie"
note_math = 15.5
age_utilisateur = 17
est_majeur = True
# Noms invalides
# 1ere_note = 15 # Commence par un chiffre
# note-math = 14 # Contient un trait d'union
# if = 10 # Mot-clé réservé
- Utiliser des noms descriptifs qui indiquent clairement ce que contient la variable
- Utiliser le snake_case (minuscules avec underscores) pour les noms composés
- Éviter les abréviations incompréhensibles
- Utiliser des noms en français dans un contexte francophone
# Bonnes pratiques
nom_complet = "Jean Dupont"
date_naissance = "2007-05-15"
nombre_eleves = 28
# Moins bonnes pratiques
# n = "Jean Dupont" # Trop court
# dateN = "2007-05-15" # Abréviation peu claire
# nb = 28 # Trop vague
Types de base
Types de données fondamentaux
| Type | Nom | Description | Exemple |
|---|---|---|---|
| str | Chaîne de caractères | Suite de caractères | "Bonjour", 'Python' |
| int | Entier | Nombres sans décimales | 42, -17, 0 |
| float | Décimal | Nombres avec virgule | 3.14, -2.5, 0.0 |
| bool | Booléen | Valeur vraie/faux | True, False |
# Chaîne de caractères
prenom = "Sophie"
ville = 'Paris'
# Nombre entier
age = 16
nb_classes = 3
# Nombre décimal
moyenne = 14.75
pi = 3.14159
# Booléen
est_boursier = True
a_redouble = False
Type string (str)
Chaînes de caractères
Les chaînes de caractères sont des suites de caractères entourées de guillemets simples ou doubles :
message = "Bonjour le monde"
prenom = 'Alice'
phrase = "C'est une belle journée"
# Chaînes multi-lignes
texte_long = """Ceci est un texte
sur plusieurs lignes"""
nom = "Jean"
prenom = "Dupont"
# Concaténation (assemblage)
nom_complet = prenom + " " + nom
print(nom_complet) # Affiche: Jean Dupont
# Longueur d'une chaîne
longueur = len(nom_complet)
print(longueur) # Affiche: 11
# Accès à un caractère
premiere_lettre = nom_complet[0] # 'J'
Types numériques
Entiers et décimaux
Les entiers sont des nombres sans partie décimale :
age = 16
nombre_eleves = 28
annee = 2023
temperature = -5 # Entier négatif
# Opérations arithmétiques
somme = age + 2
difference = age - 5
produit = age * 2
quotient = age // 3 # Division entière
Les floats représentent les nombres avec une virgule flottante :
moyenne = 14.75
pi = 3.14159265359
taux_conversion = 1.1
temperature = -2.5
# Opérations avec des floats
rayon = 5.0
aire_cercle = 3.14159 * rayon * rayon
print(aire_cercle) # Affiche environ 78.54
Type booléen
Valeurs vraies/faux
Le type booléen ne peut prendre que deux valeurs : True (vrai) ou False (faux) :
est_majeur = True
a_permis = False
est_boursier = True
a_redouble = False
Les booléens résultent souvent de comparaisons :
age = 18
moyenne = 12.5
# Comparaisons
est_majeur = age >= 18 # True
admis = moyenne >= 10.0 # True
est_premier = age == 18 # True
est_different = age != 17 # True
# Opérateurs logiques
peut_conduire = est_majeur and a_permis # False
doit_travailler = est_majeur or a_deja_travaille # True si l'une est vraie
Conversion de types
Transformer les types
Python permet de convertir une valeur d'un type à un autre :
# Chaîne vers entier
chaine_nombre = "42"
nombre_entier = int(chaine_nombre) # 42
# Chaîne vers décimal
chaine_decimal = "3.14"
nombre_decimal = float(chaine_decimal) # 3.14
# Entier vers chaîne
age = 16
chaine_age = str(age) # "16"
# Décimal vers entier (troncature)
decimal = 15.7
entier = int(decimal) # 15
La conversion n'est pas toujours possible :
# Cela provoque une erreur :
# nombre = int("bonjour") # ValueError!
# Mais cela est possible :
nombre = int(float("3.7")) # 3 (converti en float puis en int)
# Conversion booléenne
bool(0) # False
bool(1) # True
bool("") # False
bool("test") # True
Exemple complet
Programme de gestion d'étudiant
# Programme de gestion d'un étudiant
# Informations personnelles (chaînes)
nom = "Martin"
prenom = "Luc"
adresse = "123 Rue de la Paix"
# Informations numériques
age = 17 # Entier
moyenne = 13.8 # Décimal
annee_naissance = 2006 # Entier
# Statuts (booléens)
est_boursier = True
a_permis = False
admis = moyenne >= 10.0
# Affichage des informations
print("Informations de l'étudiant :")
print(f"Nom : {prenom} {nom}")
print(f"Âge : {age} ans")
print(f"Moyenne : {moyenne}")
print(f"Boursier : {est_boursier}")
print(f"Admis : {admis}")
- str : nom, prenom, adresse
- int : age, annee_naissance
- float : moyenne
- bool : est_boursier, a_permis, admis
Exercice 1
Variables et types de base
Créez un programme qui :
- Déclare des variables pour stocker votre prénom, nom, âge, taille, et statut scolaire
- Utilise les bons types pour chaque information
- Affiche toutes ces informations de manière organisée
- Prénom et nom : str (chaîne de caractères)
- Âge : int (nombre entier)
- Taille : float (nombre décimal)
- Statut scolaire : bool (vrai/faux)
Solution exercice 1
Correction détaillée
# Informations personnelles
prenom = "Emma"
nom = "Dubois"
age = 16
taille = 1.65 # en mètres
est_lyceen = True
# Affichage des informations
print("=== Informations personnelles ===")
print(f"Prénom : {prenom}")
print(f"Nom : {nom}")
print(f"Âge : {age} ans")
print(f"Taille : {taille} m")
print(f"Lycéen : {est_lyceen}")
# Affichage des types
print()
print("=== Types des variables ===")
print(f"Type de prenom : {type(prenom)}")
print(f"Type de age : {type(age)}")
print(f"Type de taille : {type(taille)}")
print(f"Type de est_lyceen : {type(est_lyceen)}")
- Lignes 2-5: Déclaration des variables avec les types appropriés
- Lignes 8-12: Affichage des informations avec f-strings
- Lignes 15-19: Affichage des types de chaque variable avec la fonction type()
=== Informations personnelles ===
Prénom : Emma
Nom : Dubois
Âge : 16 ans
Taille : 1.65 m
Lycéen : True
=== Types des variables ===
Type de prenom : <class 'str'>
Type de age : <class 'int'>
Type de taille : <class 'float'>
Type de est_lyceen : <class 'bool'>
Exercice 2
Conversion de types
Écrivez un programme qui :
- Demande à l'utilisateur son âge en tant que chaîne de caractères
- Convertit cette chaîne en nombre entier
- Calcule l'année de naissance approximative
- Affiche le résultat
- Utilisez input() pour demander l'âge
- Utilisez int() pour convertir la chaîne en entier
- Supposez que l'année actuelle est 2023
- Calculez l'année de naissance : année_actuelle - âge
- Affichez le résultat avec print()
Solution exercice 2
Correction détaillée
# Programme de calcul de l'année de naissance
# Demande de l'âge à l'utilisateur
age_chaine = input("Quel est votre âge ? ")
# Conversion de la chaîne en entier
age = int(age_chaine)
# Supposition de l'année actuelle
annee_actuelle = 2023
# Calcul de l'année de naissance
annee_naissance = annee_actuelle - age
# Affichage du résultat
print()
print(f"Vous êtes né(e) vers {annee_naissance}")
print(f"Type de l'âge : {type(age)}")
- Ligne 4: Demande à l'utilisateur d'entrer son âge (renvoie une chaîne)
- Ligne 7: Conversion de la chaîne en entier avec int()
- Ligne 10: Définition de l'année actuelle
- Ligne 13: Calcul de l'année de naissance
- Lignes 16-17: Affichage du résultat et du type de la variable age
Quel est votre âge ? 16
Vous êtes né(e) vers 2007
Type de l'âge : <class 'int'>
Exercice 3
Gestion de notes
Écrivez un programme qui :
- Demande à l'utilisateur 3 notes (mathématiques, français, anglais)
- Stocke ces notes dans des variables de type float
- Calcule la moyenne des 3 notes
- Détermine si l'étudiant est admis (moyenne ≥ 10)
- Affiche les résultats
- Utilisez input() et float() pour chaque note
- Calculez la moyenne : (note1 + note2 + note3) / 3
- Utilisez une comparaison pour déterminer l'admission
- Affichez tous les résultats
Solution exercice 3
Correction détaillée
# Programme de gestion de notes
# Demande des notes
note_math = float(input("Note de mathématiques : "))
note_francais = float(input("Note de français : "))
note_anglais = float(input("Note d'anglais : "))
# Calcul de la moyenne
moyenne = (note_math + note_francais + note_anglais) / 3
# Détermination de l'admission
est_admis = moyenne >= 10.0
# Affichage des résultats
print()
print("=== Résultats ===")
print(f"Notes : Math {note_math}, Français {note_francais}, Anglais {note_anglais}")
print(f"Moyenne : {moyenne:.2f}") # Arrondi à 2 décimales
print(f"Admis : {est_admis}")
# Affichage des types
print()
print("=== Types des variables ===")
print(f"Type de note_math : {type(note_math)}")
print(f"Type de est_admis : {type(est_admis)}")
- Lignes 4-6: Demande des 3 notes et conversion en float
- Ligne 9: Calcul de la moyenne
- Ligne 12: Détermination de l'admission (booléen)
- Lignes 15-19: Affichage des résultats
- Lignes 22-24: Affichage des types des variables
Note de mathématiques : 14.5
Note de français : 12.0
Note d'anglais : 11.5
=== Résultats ===
Notes : Math 14.5, Français 12.0, Anglais 11.5
Moyenne : 12.67
Admis : True
=== Types des variables ===
Type de note_math : <class 'float'>
Type de est_admis : <class 'bool'>
Résumé
Points clés
- Sont des espaces de stockage nommés dans la mémoire
- Ont des noms uniques et respectent des règles de nommage
- Peuvent être modifiées durant l'exécution
- Doivent être descriptives et en snake_case
- str : Chaînes de caractères ("Bonjour")
- int : Nombres entiers (42, -5)
- float : Nombres décimaux (3.14, -2.5)
- bool : Booléens (True, False)
- int() : Convertit en entier
- float() : Convertit en décimal
- str() : Convertit en chaîne
- bool() : Convertit en booléen
Conclusion
Félicitations !
Continuez à pratiquer pour renforcer vos compétences