Les variables
Dans ce chapitre, vous allez découvrir ce qu'est une variable et leur utilité. Savoir ce que c'est,
c'est bien mais si vous savez vous en servir, c'est encore mieux. Je vais donc aussi vous apprendre à les
utiliser.
A partir de ce chapitre, vous allez utiliser le langage python (dans le premier, je parlais de la majorité
des langages). Vous devez donc télécharger ce langage en
cliquant
ici et en l'installant. Voici le
site
officiel du langage
Une fois installer, vous devez utiliser "IDLE (Python GUI)" pour programmer. Puis faites "File/New Window"
et vous pourrez demarré votre programme. Pour le tester, vous devez le sauvegarder avec un nom terminant
par ".py" puis en faisant "Run/Run Module" ou F5.
Les variables
Alors qu'est-ce qu'une variable ???
Une variable est comme son nom l'indique quelque chose qui varie. En fait une variable va contenir
une valeur (une information) et c'est celle-ci qui va être modifiée au cours du temps.

Un exemple de variable.
En bleu, c'est
le nom de la variable, c'est par ceci que nous utilisons les variables.
En rouge, c'est
la valeur qu'elle contient.
Le égale sert à donner une valeur à la variable. Dans cet exemple, la valeur de la variable sera 5
et ne changera pas jusqu'a ce que la variable en reçoive une nouvelle par le "égale".
Elles vous seront très utiles dans tous vos programmes car même le plus simple des programmes en
comportera au moins une.
Affichage d'une variable
Maintenant que la notion de variables est acquise, on va les utiliser. Surtout les afficher, car c'est
beau de lui donner une valeur mais si on ne peut pas la voir, c'est embêtant. Bien sûr, certaines
variables que vous allez utiliser n'auront aucune utilité à être affichée.
Comment va-t'on bien pouvoir l'afficher ?
Le langage python comme tous les autres langages dispose d'un mot déjà prédéfini pour faire ceci. En python,
ce mot est
print.
On l'utilise de la manière suivante :
print (suivi de ceux qui est à afficher).
Vous pouvez mettre autant de variables ou texte pour le même print en les séparant par une virgule.
Sachez que chaque ligne du code est une nouvelle instruction, donc si vous mettez un 2eme print sur
une autre ligne, le programme va afficher une deuxième ligne.
print ("quel age à tu ?")
age = 18
print ("tu as donc", age, "ans")
A la première ligne, on demande l'âge.
La deuxième, on initialise (crée) la variable age avec une valeur égale à 18.
La troisième, on affiche la variable entre deux textes.
Le résultat est ...
Si vous avez fait le test, vous devez avoir découvert que c'est :
tu as donc 18 ans.
S'il vous a demandé lors du test d'inscrire dans votre programme
# -*- coding: cp1252 -*- ou
quelque chose de ce genre, c'est parce que j'ai utilisé un accent dans ma question. Normalement il ne doit rien vous proposer, il détecte automatiquement le codage.
print en détail
Un peu au dessus, j'ai dit "A chaque print, l'affichage va à la ligne."
Ceci n'est pas vraiment exacte, car en fait on peut indiquer à "print" de rester sur la même ligne au prochain affichage.
Par exemple avec le code qui suit :
age = 18
print ("j'ai", age)
print ("ans")
Celui-ci affichera :
j'ai 18
ans
Avouez que ceci n'est pas très beau visuellement. Alors pour avoir la phrase "j'ai 18 ans" en une seule ligne, on ajoutera en fin du premier print la partie suivante :
, end="X" où X est le(s) caractère(s) affiché(s) entre les 2 print
exemple :
age = 18
print ("j'ai", age, end=" ")
print ("ans")
Autre point que l'on peut remarquer, c'est que chaque virgule dans un print insére un espace. Ceci est une valeur par défaut.
En insérant en fin de print la partie suivante :
, sep="X" où X est le(s) caractère(s) affiché(s) qui sera ou seront inséré(s) par virgules, on peut spécifier ce que va remplacer la virgule.
Par exemple le code suivant affichera
j'aiX18Xans:
age = 18
print ("j'ai", age, "ans", sep="X")
Bon!!! vous me direz, ce n'est pas utile car je n'ai pas 18 ans !!!
Hé bien! je n'ai moi non plus pas 18 ans
et c'est pour ça que je vais vous apprendre à demander quelque chose à l'utilisateur et de récupérer
sa réponse.
Récupérer une entrée au clavier
Et à votre avis où va atterrir la réponse ???
Dans une variable bien sûr !!!
Pour cela on ne va pas utiliser print mais
"input" qui est déjà un mot défini.
Il s'utilise de la manière suivante: variable =
input("question à pauser")
age = input("quel age à tu ?")
print (age)
Vous voyez qu'on obtient notre réponse dans la variable et que l'on peut par la suite l'afficher.
On obtient un chiffre, mais en fait ce n'en est pas un, c'est du texte qui à été récupéré.
Tapez ce code pour en avoir la preuve :
age = input("quel age à tu ?")
print (type(age))
Il affiche
<class 'str'> qui veut dire que la variable de de type texte (str pour string).
Les différents types de variables
Chaque variable a un type. Ce peut être un chiffre, du texte, etc...
Python contrairement à d'autre langage repère automatiquement le type de la variable, ce n'est pas à
vous de le dire au programme. Mais vous devez quand même porté une attention aux types quand vous
manipulez des variables pour faire des additions par exemple, car on ne peut pas additionner un
chiffre avec du texte.
Voici les différents types :
| TYPE : |
description : |
| int (long) |
nombres entiers : ex:-50 360 ... |
| float |
nombres décimaux : ex: 2.5 |
| booléen |
Prend deux valeurs vrai/faux : True ou False |
| str |
Texte ou caractère : ex: "salut" ou 'a' |
Revenons à l'affichage,
input est du type str donc du texte.
Comme l'on attend un chiffre (l'age), il va donc falloir transformer notre texte en chiffre.
Pour celà on va utiliser l'une des transformation suivante :
| à utiliser : |
pour transformer : |
| int(x) |
float en int
exemple: int(2.5) -> 2
|
| float(x) |
int en float
exemple: float(2) -> 2.0
|
| str(x) |
int, float en str
exemple: str(2.0) -> "2.0"
|
| eval('x') |
(chiffre sous la forme)str en int, float
exemple: eval('2.0') -> 2.0
|
| ord('x') |
str en int ASCII
exemple: ord('a') -> 97
|
| chr(x) |
int ASCII en str
exemple: chr(97) -> 'a'
|
Pour ord(), on voit que le caractère 'a' est transformer en 97. Ce nombre correspond au code ASCII.
C'est à dire que chaque caractère correspond à un nombre. Tous les caractères y sont présent même les
accents. Le caractère 'A' vaut 65, 'B' vaut 66 etc...
chr() est l'inverse de ord(), tout comme eval('x') est l'inverse de str(x)
Pour avoir notre age en chiffre, on tapera donc le code suivant :
age = eval (input ("quel age à tu ?"))
print (type(age))
Pour en finir avec l'exemple, si l'on aurait laissé sous forme de texte, il aurait été impossible
d'utiliser les opérateurs ci-dessous. Concrètement si on ajoute le chiffre 1 à un nombre sous forme de
texte (de type str), on obtient une erreur et non une addition.
Les opérateurs
Avoir des nombres, c'est bien mais si on pouvait les utiliser, ça serait encore mieux. Voici donc les
opérateurs qui vont vous permettre de manipuler des nombres.
| OPERATEUR : |
Utilité : |
| + |
Addition
exemple: print 5+2 -> 7
|
| - |
Soustraction
exemple: print 5-2 -> 3
|
| * |
Multiplication
exemple: print 5*2 -> 10
|
| / |
Division
exemple: print 5/2 -> 2.5
|
| % |
Modulo (reste de division)
exemple: print 5%2 -> 1
|
| ** |
Puissance
exemple: print 5**2 -> 25
|
| += |
Rajouter à la variable
exemple: age = 15
age += 1
print age -> 16
|
| -= |
Enlever à la variable
exemple: age = 15
age -= 1
print age -> 14
|
| *= |
Multiplication de la variable
exemple: age = 15
age *= 2
print age -> 30
|
| /= |
Division de la variable
exemple: age = 15
age /= 5
print age -> 3
|
Pour les opérateurs " += -= *= /= ", la variable est modifiée, ce n'est donc pas une nouvelle qui se
crée.
Ces opérateurs fonctionnent aussi avec des variables :
Exemple 1 :

Il y a 2 pommes et 5 poires
sur la table.
poire = 5
pomme = 2
nombre_fruit = poire + pomme
print ("Il y a", nombre_fruit, "fruits.")
Le programme nous dit qu'il y a 7 fruits
Exemple 2 :
nombre = 3
nombre *= nombre
print ("Le carré est égale à", nombre)
Dans cet exemple, on multiplie le nombre par lui-même, ce qui correspond au carré. Et le carré de 3
est 9, c'est ce que le programme affiche.
Affectations multiples
Tout au long de ce chapitre, nous avons vu comment initialiser et affecter des variables.
Nous faisons de cette manière :
poire = 5
pomme = 5
Mais ce code peut être amélioré. La valeur qui sera affectée à ces variables est de 5.
Comme cette valeur est identique, nous pouvons faire une affectation multiple.
poire = pomme = 5
Vous devez voir ça comme : on affecte 5 à la variable pomme puis on affecte la variable pomme à la variable poire. Comme la variable est affectée par une autre variable, elle prend donc sa valeur.
On serait tenté de vouloir affecter de cette manière plusieurs variables ayant des valeurs différentes.
Par exemple en faisant ceci :
poire = pomme = 5 = 3
Mais avec l'explication que j'ai fourni juste au dessus, c'est impossible.
On affecte 3 à 5, mais que veut dire affecter un nombre à un nombre ??? Rien
De même on aurait pu penser à : on affecte 3 à la variable 5, mais une variable commençant par un chiffre est interdit.
Affecter en même temps deux variables recevant deux valeurs différentes est donc impossible.
En fait ceci est valable pour la plupart des langages, mais python permet quand même d'affecter plusieurs variables qui recevront des variables différentes.
Pour cela, il faut utiliser la syntaxe suivante :
poire , pomme = 5 , 3
Dans cette exemple, 5 affectera la variable poire et 3 affectera la variable pomme.
Vous devez donc indiquer les variables séparées par une virgule et ensuite leur affectation qui sera aussi séparer par une virgule.
Conclusion
Vous venez de découvrir une notion très importante de la programmation qui vous permet de récupérer
des données (informations) et de les manipuler.
Dans le chapitre qui suit, vous allez découvrir une deuxième notion importante, c'est-à-dire
"les fonctions".