Variables de type entier, réel, chaîne, booléen
Variables de type entier, réel, chaîne, booléen
Une variable est une boîte étiquetée qui garde une valeur, et son type (entier, réel, chaîne ou booléen) dit quelle sorte de valeur elle contient et quelles opérations on peut faire avec.
Objectifs
- Comprendre ce qu'est une variable et l'instruction d'affectation.
- Reconnaître les quatre types de base : entier, réel, chaîne de caractères, booléen.
- Utiliser les opérations propres à chaque type, en pseudo-code et en Python.
- Convertir une valeur d'un type à un autre et éviter les erreurs de type.
1. Qu'est-ce qu'une variable ?
Une variable possède :
- un nom (l'étiquette) :
prix,age,nom_eleve… - une valeur (le contenu) : 500, 15, "Kofi"…
- un type (la sorte de contenu) : nombre entier, nombre réel, texte, vrai/faux.
L'affectation range une valeur dans une variable. En pseudo-code on écrit prix ← 500 ; en Python on écrit prix = 500. Une nouvelle affectation remplace l'ancienne valeur, comme quand on vide la boîte avant de la remplir à nouveau.
Regarde ce qui se passe dans la mémoire, instruction par instruction :
Étape 1 : l'instruction a ← 5 range la valeur 5 dans la boîte a.
Étape 2 : b ← 3 range 3 dans la boîte b ; a garde sa valeur.
Étape 3 : a ← a + b calcule d'abord 5 + 3 = 8, puis remplace l'ancien 5 par 8. La valeur de b ne change pas.
Après les instructions x ← 4, puis x ← x × 3, que vaut x ?
2. Les types numériques : entier et réel
- Entier (Python :
int) : nombre sans partie décimale, positif ou négatif : 0, 12, −7, 2500. - Réel (Python :
float) : nombre à virgule. Attention, en programmation la virgule s'écrit avec un point :1.62,3.0,-0.5.
Opérations en Python :
| Opération | Symbole | Exemple | Résultat |
|---|---|---|---|
| addition, soustraction, multiplication | + - * | 4 * 3 | 12 |
| division (résultat réel) | / | 7 / 2 | 3.5 |
| quotient de la division euclidienne | // | 7 // 2 | 3 |
| reste de la division euclidienne | % | 7 % 2 | 1 |
| puissance | ** | 2 ** 3 | 8 |
En mathématiques, cela correspond à \(7 = 2 \times 3 + 1\) : le quotient est 3 et le reste est 1.
Exemple résolu : les billets de 2 000 F CFA
Kouni a 9 500 F CFA. Combien de billets de 2 000 F peut-elle avoir au maximum, et combien reste-t-il ? Écris les instructions Python. Cherche d'abord.
somme = 9500.billets = somme // 2000, soit 4.reste = somme % 2000, soit 1 500 F CFA.Que renvoie Python pour 17 % 5 ?
3. Les chaînes de caractères
Une chaîne (Python : str) est un texte écrit entre guillemets : "Awa", "Bamako", "225".
- Concaténation (mettre bout à bout) :
"Bon" + "jour"donne"Bonjour". - Répétition :
"ha" * 3donne"hahaha". - Longueur :
len("Lomé")donne 4.
Que vaut "12" + "8" en Python ?
4. Les booléens
Un booléen (Python : bool) ne prend que deux valeurs : True (vrai) ou False (faux). On l'obtient souvent par une comparaison : == (égal), != (différent), <, >, <=, >=.
On combine les booléens avec and (et), or (ou), not (non) :
| A | B | A and B | A or B | not A |
|---|---|---|---|---|
| True | True | True | True | False |
| True | False | False | True | False |
| False | True | False | True | True |
| False | False | False | False | True |
Exemple résolu : l'admission
Un élève est admis si sa moyenne est au moins 10 et s'il n'a pas plus de 5 absences. Avec moyenne = 11.5 et absences = 7, que vaut admis = moyenne >= 10 and absences <= 5 ? Cherche d'abord.
Voir la solution
moyenne >= 10 vaut True (11,5 est au moins 10) ; absences <= 5 vaut False (7 est plus grand que 5). True and False donne False : l'élève n'est pas admis.
Que vaut (3 > 5) or (2 == 2) ?
5. Choisir le bon type et convertir
flowchart TD
A[Valeur a ranger] --> B{Vrai ou faux}
B -- oui --> C[Booleen bool]
B -- non --> D{Texte}
D -- oui --> E[Chaine str]
D -- non --> F{Partie decimale}
F -- oui --> G[Reel float]
F -- non --> H[Entier int]
Pour choisir le type d'une variable, on se pose les questions dans l'ordre : vrai ou faux ? du texte ? un nombre à virgule ?
Les fonctions int(), float(), str() et type() permettent de convertir ou de vérifier un type :
int("25")donne 25 ;float("2.5")donne 2.5 ;str(500)donne "500".int(3.9)donne 3 (la partie décimale est coupée, pas arrondie).type(3.0)indiquefloat: 3.0 est un réel, même si sa valeur est entière.
Exemple résolu : le prix total
Un programme demande le prix d'un cahier (en F CFA) et le nombre de cahiers, puis affiche le total. Le prix 250 et le nombre 4 sont saisis au clavier.
prix = int(input("Prix ? ")) convertit la saisie "250" en entier 250.n = int(input("Nombre ? ")) donne l'entier 4.total = prix * n vaut 1000, un entier.print("Total : " + str(total) + " F CFA") affiche Total : 1000 F CFA (on convertit total en chaîne pour la concaténation).Quel est le type de la valeur 3.0 en Python ?
Quel type choisir pour une variable « est_majeur » ?
Erreurs fréquentes
- Écrire une virgule au lieu d'un point :
1,5n'est pas le réel 1,5 en Python, il faut1.5. - Oublier les guillemets d'une chaîne :
nom = Awacherche une variable appelée Awa ; il fautnom = "Awa". - Confondre
=(affectation) et==(comparaison). - Calculer avec le résultat de
input()sans le convertir. - Confondre
/(division réelle) et//(quotient entier).
Récapitulatif
Une variable a un nom, une valeur et un type. L'affectation remplace la valeur. Les entiers et les réels servent aux calculs (// et % pour la division euclidienne), les chaînes au texte (concaténation, longueur), les booléens aux tests (True, False, and, or, not). On convertit avec int(), float() et str().
Teste tes connaissances sur ce cours
Crée ton compte gratuitement pour accéder aux quiz associés et suivre ta progression.
