La notion de variable est un peu différente de celle utilisée en mathématiques ( x, y,...).
Une variable est une « case » de rangement dans la mémoire .
Une variable est caractérisée par :
On peut donner à une variable le nom que l'on veut, depuis la simple lettre ( i
, n
, valeur2
,... ) jusqu'à des expressions assez complexes ( nomDeMaVariable
, valeurDuStock
,...), mais quelques limitations existent :
Nom du type | Type de données |
---|---|
boolean ( booléen ) |
Deux valeurs possibles : VRAI ou FAUX ( TRUE or FALSE ) |
int ( entier ) |
Valeur entière |
float ( flottant ) |
Valeur à virgule flottante ( décimale ) Le point décimal ("." ) est toujours utilisé en informatique à la place de la virgule. La puissance de 10 est représentée par la lettre e : 1,6 x 103 → 1.6e3 |
str ( chaîne ) |
chaîne ( = suite ) de caractères codée en UNICODE |
Lorsqu'on « stocke » une donnée dans une variable, on dit qu'on affecte à celle-ci une valeur.
Le signe de l'affectation est le signe égal (« = »)
Exemples :
i = 3.4
octet = 255
uneLettre = 'A' # on peut utiliser pour les chaînes des
monNom = "Durand" # guillemets simples (') ou doubles (")
Une fois initialisée, une variable peut alors être manipulée et son contenu transformé, en lui affectant le résultat d'une expression : c'est un ensemble d'autre(s) variable(s) et/ou de valeur(s) numérique(s), combinées à l'aide d'opérateurs mathématiques (voir ci-dessous).
L'expression est tout d'abord évaluée ( = calculée ), puis son résultat est affecté à la variable.
Exemples :
j = i + 1 # on affecte la valeur de i + 1 à la variable j
i = 3 + 5 * a # on stocke le résultat de l'expression "3 + 5*a" dans la variable i
Les opérations arithmétiques de base utilisables dans les expressions sont les suivantes :
Opérateur | Exemple | Résultat | |
---|---|---|---|
- x |
opposé | x = 10 y = - x |
y = - 10 |
x + y |
addition | x = 10 y = x + 20 |
y = 30 |
x - y |
soustraction | x = 10 y = x - 20 |
y = - 10 |
x * y |
multiplication | x = 5 y = x * 10 |
y = 50 |
x / y |
division décimale | x = 5 y = x / 2 |
y = 2.5 |
x // y |
division entière | x = 5 y = x // 2 |
y = 2 Renvoie donc le quotient entier d'une division |
x % y |
modulo | x = 5 y = x % 2 |
y = 1 Renvoie donc le reste d'une division entière |
x ** y |
puissance | x = 5 y = x ** 2 |
y = 25 |
Ces opérateurs peuvent bien sur être utilisés conjointement dans une même expression.
Des fonctions plus complexes peuvent être aussi utilisées sur les variables : sin, cos, log,....
a = a + 1
a += 1
ou encore...
b = b * 6
b *= 6
Dans les tableaux suivants, quelles sont les valeurs contenues dans les variables après chaque instruction ?
Pour vérifier les résultats, cliquer sur les cases correspondantes...
Script | Valeurs de | Commentaire | |
---|---|---|---|
a | b | ||
a = b = 1 |
? 1 | ? 1 | Il s'agit d'une affectation multiple |
b = a + 3 |
? 1 | ? 4 | Si une variable n'est pas modifiée, elle garde la valeur qu'elle avait jusqu'alors... |
a = 3 |
? 3 | ? 4 |
Script | Valeurs de | Commentaire | ||
---|---|---|---|---|
a | b | c | ||
a = 5 |
? 5 | ? Non initialisée | ? Non initialisée | La tentative d'affichage d'une variable non-initialisée se traduit par une erreur... |
b = 3 |
? 5 | ? 3 | ? Non initialisée | |
c = a + b |
? 5 | ? 3 | ? 8 | |
a = 2 |
? 2 | ? 3 | ? 8 | |
c = a - b |
? 2 | ? 3 | ? -1 |
Une instruction peut affecter à une variable le résultat d'une expression faisant référence à la variable elle-même.
Comment cela fonctionne-t-il ? Le résultat d'une expression est toujours évalué avant d'affecter ce résultat à une variable : cette dernière garde donc pendant ce "temps" la valeur qu'elle avait jusqu'alors.
Lors d'une affectation "circulaire", c'est donc le contenu précédent de la variable qui est utilisé pour déterminer la nouvelle valeur à lui affecter...
Script | Valeurs de | Commentaire | |
---|---|---|---|
a | b | ||
a , b = 5 , 2 |
? 5 | ? 2 | Il s'agit ici d'une affectation parallèle. |
a = a + 1 |
? 6 | ? 2 | Ceci est une incrémentation... |
b = b - 3 |
? 6 | ? -1 | ...et ceci une décrémentation... |
a = a * 3 |
? 18 | ? -1 |
Que s'affiche-t-il à la fin de l'exécution de chacun des scripts suivants ?
input()
.
Exemple :
nom = input('Entrez votre nom SVP') # demande à l’utilisateur son nom et affecte cette donnée à la variable 'nom'
print()
.
Exemple :
print('Le résultat est :' , resultat ) # affiche le contenu de la variable "resultat" après celui de la chaîne "Le résultat est :"
from math import pi # importation de la fonctionnalité 'valeur de pi'
r = int(input('valeur1 : '))
h = int(input('valeur2 : '))
v = pi * r**2 * h
print(v)
Que fait ce programme ?
Écrire un programme qui demande à l’utilisateur d'entrer une température en °C ( degré Celsius ) et qui la convertit en °F ( degré Fahrenheit ).
La relation entre les deux échelles de température est : °F = °C x 1,8 + 32