Livre_silo 30 août 2013 16:32 Page 72
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
72
Informatique pour tous
pression qui va être évaluée. Ainsi, si l’état courant est
. .
3 .
x
, l’évaluation de x+1 va donner
la valeur 4 et l’affectation est équivalente à x = 4. On passe donc dans l’état
. .
4 .
x
.
EN PRATIQUE Opération-affectation
L’instruction x = x+1 est équivalente à l’instruction x += 1, qu’on peut lire « ajouter 1 à x »,
sous-entendu dans l’état courant. Des opérations-affectations similaires existent pour la
plupart des opérateurs courants : par exemple y *= e multiplie la variable y par l’expression
e, et z -= e retranche l’expression e à la variable z.
Il existe une expression particulière, input(), qui attend que l’utilisateur tape quelque chose
au clavier et qui prend pour valeur la chaîne de caractères correspondante. On l’utilise très
souvent sous la forme variable = input(), de sorte que la variable contiendra ce qui est tapé
au clavier.
In [61]: a = input()
3.5
Précisons que 3.5 est ici ce que l’utilisateur a tapé au clavier ; cette instruction, comme les
autres affectations, n’affiche rien. Ensuite on a :
In [62]: a
Out[62]: '3.5'
On voit que la valeur donnée à a est une chaîne de caractères ; si on veut plutôt récupérer
une valeur numérique, on écrira int(input()) ou float(input()) pour obtenir une valeur respectivement entière ou en virgule flottante. On verra plus tard que cette expression n’est
qu’un cas particulier d’un mécanisme plus général.
Une variante consiste à donner une chaîne de caractères en argument à input ; cette chaîne
sera affichée à l’écran avant de lire ce que tape l’utilisateur. Cela permet par exemple de
poser une question pour guider la réponse attendue.
In [63]: a = int(input("Combien en voulez-vous ?"))
Combien en voulez-vous ? 42
EN PRATIQUE Dans les versions Python 2.x
La fonction input() tente de déterminer automatiquement le type de l’expression tapée au
clavier. L’inconvénient est qu’il n’est pas possible d’anticiper de quel type sera une expression input() au moment de l’écriture du programme !
Précédent

- 85/402

Suivant