Lorsque l'utilisateur communique une donnée au programme celui-ci la conserve dans la mémoire de l'ordinateur. Cette zone de stockage est représentée par une variable et possède un nom qui permet de l'identifier.
Dans le programme suivant, la variable nom
sert à conserver le prénom entré par l'utilisateur :
nom=str(input("Entrez votre prenom :"))
print "Bonjour ",
print nom
L'instruction input
provoque l'affichage d'une boite de dialogue avec une zone d'entrée. Le texte saisi est envoyé dans la variable nom
.
print "text "
affiche text.print nom
affiche l'information stockée dans la variable nom
, c'est à dire le texte que l'utilisateur a entré.
Dans le programme précédent la variable nom
reçoit et stocke une chaîne de caractères : la variable nom
est du type String. Une variable peut également stocker un nombre, la variable est alors de type Integer noté int pour les nombres entiers ou de type float pour les nombres à virgule.
Dans le programme suivant nous utilisons des variables de type nombre pour effectuer une division :
a=5
b=3
division=a/b
print division
c=float(a)
d=float(b)
division=c/d
print division
Les variables a
et b
reçoivent les nombres 5 et 3 qui par défaut sont de type integer.
La variable division
reçoit le résultat de l'opération a/b
qui restera de type integer. Lors de l'évaluation de l'expression a/b
, le programme utilise les valeurs stockées dans a
et b
et donne le quotient de 5/3
.
Les variables c
et d
reçoivent les nombres 5 et 3 qui sont de type float (on aurait aussi pu écrire c=5.0
).
La variable division
reçoit le résultat de l'opération c/d
qui restera de type float. Lors de l'évaluation de l'expression c/d
, le programme utilise les valeurs stockées dans c
et d
et donne le résultat de 5/3
.
Lorsqu'un utilisateur entre une donnée par l'intermédiaire d'une boite de dialogue (instruction prompt
), cette donnée est toujours du type chaîne de caractères. Lorsque la chaîne de caractères est le texte d'un nombre, il est possible de la convertir dans le type nombre. Exécutez les deux programmes qui suivent et observez les résultats obtenus :
a=input("Entrez le nombre a")
b=input("Entrez le nombre b")
resultat=a+b
print resultat
Programme n°1
L'expression a+b
est évaluée alors que a
et b
sont des variables du type chaîne de caractères, l'addition de deux chaînes de caractères ne provoque pas de calcul, mais la juxtaposition des deux chaînes.
Programme n°2
L'expression float(a)
donne (si possible) le nombre représenté par la chaîne de caractères a
, de même float(b)
donne le nombre de la chaîne de caractères b
. Du coup float(a)+float(b)
calcule la somme des deux nombres écrits sous forme de chaînes de caractères dans les variables a
et b
.
Essayez le programme n°2, en entrant des chaînes de caractères qui ne représentent pas des nombres, vous aurez un message d'erreur Not a Number
.
remarque : on peut aussi écrire a=float(input("Entrez le nombre a"))
Utiliser la console pour écrire vos codes :
1. Ecrire un programme qui calcule l'aire et le périmètre d'un rectangle dont on donne les deux dimensions.
2. Ecrire un programme qui échange le contenu de deux variables a
et b
.