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 et récupération de variables
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. Et on rajoute ceci
au programme pour qu'il affiche l'accent au lieu de plusieurs caractères bizarres.
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 une virgule
exemple :
age = 18
print "j'ai", age,
print "ans"
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" ou
"raw_input" qui sont déjà deux mots
définis. Il s'utilise de la même façon mais sont diffèrent dans ce que vous allez récupérer.
Ils s'utilisent de la manière suivante: variable =
input("question à pauser")
age = input("quel age à tu ?")
print age
age = raw_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.
Par contre vous voyez qu'il affiche deux fois un chiffre, il n'y a donc pas de différence.
Hé bien si ! Testez le code suivant.
age = input("quel age à tu ?")
print age, type(age)
age = raw_input("quel age à tu ?")
print age, type(age)
Vous voyer que pour le premier, il est marqué
<type 'int'> et le deuxième
<type 'str'>.
La différence est là! Essayer de mettre du texte comme réponse à la deuxième puis à la première
question.
Ca fonctionne pour la deuxième et pas pour la première car le type de variable joue un rôle important
lors de l'utilisation d'input et de raw_input.
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 |
nombres entiers : -2147483647 à 2147483647 |
| long |
nombres entiers : plus grand que les int |
| float |
nombres décimaux : ex: 2.5 |
| booléen |
Prend deux valeurs vrai/faux : True ou False |
| str |
Texte ou caractère : "salut" ou 'a' |
Le type long correspond à un int mais utilise plus de mémoires pour vaut programme, c'est pour celà
que les grands chiffres sont des long. Des petits chiffres peuvent aussi être de type long.
Revenons à l'affichage,
input donne un int donc un chiffre et
raw_input un str donc une
chaîne de caractères (texte). C'est donc à vous de savoir lequel est le plus apte à être utilisé.
Comme on attend un chiffre (l'age), c'est donc
input qu'il faut utiliser.
Dans l'exemple raw_input à transformer le chiffre entré en une chaîne. Vous pouvez vous aussi
transformer un type en un autre en utilisant ceci :
| à utiliser : |
pour transformer : |
| int(x) |
float en int
exemple: int(2.5) -> 2
|
| long(x) |
float ou int en long
exemple: long(2.5) -> 2L
|
| float(x) |
long ou int en float
exemple: float(2) -> 2.0
|
| str(x) |
long, int, float en str
exemple: str(2.0) -> "2.0"
|
| eval('x') |
(chiffre sous la forme)str en int, long, 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 en finir avec l'exemple, la réponse étant du texte et non un nombre, il sera 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
exemple: print 5.0/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".
-->