Connection Menu Contenu

1788
membres
00h58
06
février
2012

Pseudo

Mot de passe

Accueil FORUM
repère : ROMMY Prod > Le tutoriel PYTHON > Les variables

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.
reponse = 5
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 :
2 pommes et 5 poires
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".

chapitre precedent Exercices sommaire chapitre precedent
-->
repère : ROMMY Prod > Le tutoriel PYTHON > Les variables
Qui suis-je ? Contact Charte du site
Plan du site Accessibilité du site

Copyright © ROMMY Production
Le cours, les jeux et les logiciels sont la propriété de son auteur.
Toute reproduction totale ou partielle du cours est interdite sans l'accord de l'auteur.
La modification des jeux et logiciels est interdite sans l'accord de l'auteur.