logo

Les variables

Notion de variable

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

 

Comment cela fonctionne-t-il ?

Les types de données

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

 

Comment cela fonctionne-t-il ?

Conversion de type

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 :

Programme n°1

a=input("Entrez le nombre a")
b=input("Entrez le nombre b")
resultat=a+b
print resultat

 

Programme n°2

a=input("Entrez le nombre a")
b=input("Entrez le nombre b")
resultat=float(a)+float(b)
print resultat

 

Que s'est-il passé ?

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"))

Exercices

A vous de jouer !

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.

Voir une solution

2. Ecrire un programme qui échange le contenu de deux variables a et b.

Voir une solution