TP1-PROG-07 - Les variables en Python
Contents
TP1-PROG-07 - Les variables en Python#
Objectifs pédagogiques#
comprendre la mise en oeuvre d’une variable dans le langage de programmation Python
connaître les 4 principales caractéristiques d’une variable
connaître les types primitifs de variables et savoir utiliser le casting
connaître la structure de donnée
list
implémenter quelques exercices mettant en oeuvre les concepts de types, de nom et de valeur des variables
Variable : définition#
Une variable, dans un langage impératif tel que Python est un espace mémoire élémentaire qui possède les quatre caractéristiques principales suivantes :
son nom : comment je l’identifie dans le programme
sa valeur : ce qu’elle vaut au moment où je la lis dans le programme
son type : quelle est la représentation de sa valeur
son adresse : où est-elle stockée dans la mémoire
On pourrait faire l’analogie avec un paquet postal : il a un nom : paquet postal, il a une valeur : son contenu, il a un type : la nature de son contenu et il a une adresse : son destinataire (la boîte aux lettres dans laquelle il faut le mettre)
Nom d’une variable#
Le nom de la variable est choisi par la programmeuse ou le programmeur. Il n’y a que très peu de règles qui permettent d’en choisir un. En Python, les règles et conventions de nommage (simplifiées) sont les suivantes :
le nom doit commencer par une lettre (majuscule ou minuscule)
il ne doit pas y avoir le signe tiret
-
, d’espace dans le nomle nom ne doit pas être un mot-clef du langage (comme
True
ouimport
par exemple)le nom ne devrait pas contenir de lettres accentuées
Dans le monde professionnel, lorsque plusieurs personnes travaillent sur le même code, il est d’usage de préciser les règles et conventions de nommage dans un document concomitant au projet : les Coding rules
La valeur et le type d’une variable#
La valeur de la variable est son contenu. Cette valeur est liée au type de cette valeur. Il existe 5 types primitifs en Python :
les chaînes de caractères : str (pour string)
les entiers : int (pour integer)
les booléens : bool (pour boolean)
les nombres en virgule flottante : float (pour floating point)
les nombres complexes complex (pour complex number)
Ainsi la valeur de la variable doit être représentée par son type. La variable a
et la variable b
suivantes ne sont pas du même type :
a = '1234'
b = 1234
La variable a
représente la chaîne de caractères (str) "1234"
alors que la variable b
représente l’entier 1234
(mille deux cent trente quatre).
L’adresse d’une variable#
L’adresse d’une variable représente sa localisation physique dans la mémoire vive de l’ordinateur. Cette adresse (aussi nommée adresse mémoire est une valeur représentée par un nombre hexadécimal et correspond à une “case” dans la mémoire de l’ordinateur. Lorsqu’on affecte ou que l’on modifie (lecture ou écriture) la valeur d’une variable, la valeur est effectivement écrite à cette position mémoire.
A noter que si l’on exécute plusieurs fois le même programme, une même variable ne sera pas écrite forcément à la même position mémoire. Ceci est dû aux divers programmes et logiciels qui partagent le temps de calcul du processeur.
Casting#
Il est tout à fait possible de modifier le type d’une variable au cours d’un programme. C’est le casting. Le casting doit cependant respecter quelques règles notamment lorsqu’on passe d’une chaîne de caractères à un entier (ou un flottant) : la chaîne de caractères doit être formée uniquement de chiffres (et d’un point dans le cas d’un flottant).
Trois fonctions de casting existent en Python :
int()
: construit un entier avec une chaîne de caractères ou un flottantfloat()
: construit un flottant avec une chaîne de caractères ou un entierstr()
: construit une chaîne de caractère à partir de n’importe quel type
Par exemple :
x = int(1) # x vaut 1
y = int(2.8) # y vaut 2
z = int("3") # z vaut 3
Rappel : le type de retour de la fonction input()
est une chaîne de caractères, il est obligatoire de la caster si l’on veut l’utiliser comme un entier ou un flottant.
Exercice 1#
Est-ce que le programme suivant fonctionne (calcule votre fortune dans 365 jours à un taux de 2%) :
compte = input("Valeur de votre compte en banque (en CHF) ")
compte365 = compte + (compte *0.02)
print("Dans un an, vous aurez ",compte365)
Modifiez le programme pour qu’il fonctionne
Exercice 2#
Quel est le type de chacune des variables suivantes :
a = 10
b = 1.234
c = True
d = "Hello"
e = '1'
couleurs = ['red','blue','green']
f = 2 + 3j
Pour déterminer les types de ces variables, vous pouvez utiliser la fonction type()
our alors l’inspecteur d’objets et le listeur de variables sous Thonny (Affichage -> Variables
et Affichage > Inspecteur d'objets
sélectionnés)
Exercice 3#
Programmez une calculette qui multiplie deux nombres entiers entrés par l’utilisateur avec la fonction input()
Exercice 4#
Est-ce que votre calculette fonctionne avec des chiffres à virgule (float) ? Que faut-il modifier au programme pour qu’il accepte les nombres à virgule ?
Exercice 5 : calculette#
Codez maintenant une calculatrice capable d’exécuter les 4 opérations de base (addition, soustraction, multiplication, division). Attention aux valeurs “interdites” (par exemple : une division par 0).
Voici un algorigramme simplifié :
Exercice 6 : Equations du deuxième degré#
Ecrivez un programme qui résoud une équation du deuxième degré du type \(a x^2 + b x + c = 0\).
Votre code est-il capable de calculer le résultat de \(x^2 = -1\) ? Sinon, que faut-il modifier ?
Exercice 7 : ma moyenne#
Écrivez un programme Python qui demande à l’utilisateur de saisir trois notes, stocke ces notes dans une liste, calcule la moyenne des notes à l’aide de la liste, puis affiche la moyenne avec deux décimales. Instructions :
Demandez à l’utilisateur de saisir les notes d’une discipline depuis le début de l’année.
Stockez ces notes dans une liste.
Calculez la moyenne des notes en utilisant la liste.
Affichez la moyenne avec deux décimales.
Exercice 8 (pour aller plus loin)#
Même donnée que l’exercice 6 mais avec toutes les disciplines. Vous devez obtenir la moyenne de chaque branche et la moyenne générale.
Exercice 9 (pour aller encore plus loin)#
Implémentez l’algorithme dit de “Promotion en 2M” décrit lors du cours d’algorithmique à votre calculateur de moyenne de l’exercice 6.