Favicon
NSI Première python SPC

Connexion élèves

Choisir le(s) module(s) à installer :

Les variables

La notion de variable est un peu différente de celle utilisée en mathématiques ( x, y,...).

En informatique, c'est en fait la représentation abstraite d'un emplacement dans la mémoire de l'ordinateur, représentation qui permet de manipuler simplement cette mémoire sans se soucier de son emplacement exact ni de la manière dont on la lit où on l'écrit ( ces taches sont dévolues au système d'exploitation de l'ordinateur ).

Une variable sert à stocker le résultat d'un calcul pour le réutiliser plus tard, le manipuler,...
C'est donc une « case » de rangement dans la mémoire ( c'est en fait un peu plus complexe que ça, mais on pourra se contenter de cette analogie dans un premier temps ).

1. Caractéristiques d'une variable

Une variable est caractérisée par :

  1. un Nom : il permet de définir une variable de manière unique.

    On peut donner à une variable le nom que l'on veut, depuis la simple lettre ( i, n, valeur2,... ) jusqu'à des expressions assez complexes ( nom_de_ma_variable, valeur_du_tock,...), mais quelques limitations existent :

    • on ne peut pas utiliser les mots réservés du langage.
    • le nom doit obligatoirement commencer par une lettre, et pas un chiffre.
    • pas d'espace ni de signe de ponctuation dans le nom ! ( on peut éventuellement les remplacer par un "underscore" : _ )
    • pas de caractère accentué !
    • la casse ( lettres en majuscules ou minuscules ) est importante ; ainsi Variable et variable désigneront deux variables différentes.

    Dans le cas du langage Python, les types de variables de base ( = types primitifs ) les plus fréquemment utilisés sont :

    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

2. Affectation et initialisation d'une variable dans un programme

Lorsqu'on « stocke » une donnée dans une variable, on dit qu'on affecte à celle-ci une valeur.

La première affectation s'appelle l’initialisation de la variable ; cette initialisation est obligatoire avant "d’utiliser" la variable dans le programme, sinon Python générera un message d'erreur dès qu'il en rencontrera la mention dans le code....( L'initialisation indique en fait à Python d'aller réserver de la place en mémoire pour cette variable : c'est donc la "déclaration de naissance" de la variable....)

Le signe de l'affectation est le signe égal (=)

Exemples :

				
i = 3.4
octet = 255
une_lettre = 'A' 	# on peut utiliser pour les chaînes des
mon_nom = "Durand"	# guillemets simples (') ou doubles (")
				
			

Attention, ce signe n'a pas la même signification qu'en mathématiques, une affectation n'est pas une équation !

Il pourrait se traduire par : "mettre ce qui est à droite du signe = dans ce qui est à gauche.".

Dans certains ( rares ) langages, ainsi qu'en algorithmique, on utilisera d'ailleurs plutôt une écriture du style :


i ← 3.4
octet ← 255
...				
				

3. Manipulation des variables

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
				
			

A RETENIR : l'affectation donne toujours à la variable à gauche du signe =  la valeur de ce qu'il y a à droite ( qui n'est par contre pas modifié ! ).

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,....

4. Exercices

4.1. Affectation et initialisation

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

4.2. Des affectations "circulaires"...

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

5. QCM d'entraînement

Que s'affiche-t-il à la fin de l'exécution de chacun des scripts suivants ?

6. Applications

6.1. Conversion de température

É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

# Votre code ici
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Fichier(s) chargé(s) :

6.2. Calcul de puissance

Compléter le programme ci dessous pour calculer puis afficher la puissance délivrée par le générateur de tension à vide 4,5V et de résistance interne 2,3 Ohms sous un courant de 100mA

Rappel : U= E-rI et P=UI

E=4.5
r=2.3
U= ...
P= ....
print('la puissance délivrée est :', ...)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Fichier(s) chargé(s) :