TP2 - Variables, fonctions print() et input() ¶
Variables et affectation¶
Les valeurs des objets manipulés (booléens, entiers, flottants, chaînes de caractères, listes, ...) ou les résultats des "calculs" peuvent être mémorisés par l'interprète, afin d'être réutilisés plus tard dans d'autres calculs.
Pour cela, on utilise :
- des variables que l'on nomme le plus explicitement possible (pour une bonne lisibilité du code)
- l'affectation représentée par le symbole = qui n'a donc pas du tout la même signification qu'en mathématiques !
longueur = 7
largeur = 4
aire_rectangle = longueur * largeur
L'interprète n'affiche rien, mais il n'a pas rien fait !
Pour accéder à la valeur mémorisée dans une variable, on utilise le nom de la variable.
aire_rectangle
Une nouvelle affectation permet de modifer la valeur d'une variable.
largeur = 3
largeur
/!\ la valeur de la variable aire_rectangle n'est pas mise à jour sauf si une nouvelle affectation est effectuée
aire_rectangle
aire_rectangle = longueur * largeur
aire_rectangle
Une variable peut être imaginée comme une boîte portant un nom (ou une étiquette) et contenant une valeur.
L'ensemble des associations nom_variable $ \fbox {valeur} $ constitue l'état de l'interprète Python :
$$ \Big\{ \textrm{longueur}\ \fbox{7},\textrm{largeur}\ \fbox{3},\textrm{aire\_rectangle}\ \fbox{21} \Big\} $$
Cet état évolue en fonction des instructions exécutées (l'une après l'autre), et notamment des affectations de nouvelles valeurs.
On dit de ces instructions qui modifient l'état qu'elles ont un effet de bord.
Pour pouvoir suivre l'évolution de l'état de l'interprète (utile pour débugger), on utilise la fonction d'affichage print().
largeur = largeur + 2
print(largeur)
longueur = longueur * 4
print(longueur)
aire_rectangle = longueur * largeur
print(aire_rectangle)
Fonctions print() et input()¶
De manière générale, on utilise la fonction print() pour afficher les valeurs des variables "passées en paramètres".
Pour un meilleur affichage, on peut "inclure" des chaînes de caractères.
print("Largeur :", largeur)
print("Longueur :", longueur)
print("Aire du rectangle :", aire_rectangle)
On peut aussi "passer en paramètres" plusieurs variables et chaînes.
print("L'aire du rectangle de largeur", largeur, "et de longueur", longueur, "est égale à", aire_rectangle)
Pour permettre à l'utilisateur d'interagir avec le programme, en saisissant des valeurs au clavier, on peut utiliser la fonction input().
cote_str = input("Saisir le côté du carré :")
cote_str
/!\ La valeur saisie au clavier est toujours une chaîne de caractères
type(cote_str)
Pour convertir en un nombre entier cette chaîne de caractères, saisie au clavier par l'utilisateur, on utilise la fonction int().
cote_int = int(cote_str)
type(cote_int)
On peut maintenant utiliser cette variable entière pour calculer l'aire du carré.
print("Aire du carré de côté", cote_int, ":", cote_int**2)
Exercices¶
Exercice 1¶
Quelle est la valeur affichée par l'interprète après la séquence d'instructions suivante ?
a = 2
b = a * a
b = a * b
b = b * b
b
# Vérifiez votre réponse en exécutant ce programme
Exercice 2¶
Un élève écrit le programme suivant pour afficher le diamètre d'un cercle à partir de son rayon saisi par l'utilisateur.
Corrigez-le.
r = input("Saisir le rayon du cercle :")
print("Diamètre du cercle de rayon", r, ":", r*2)
# Réponse
Exercice 3¶
Ecrire un programme qui demande à l'utilisateur d'entrer son année de naissance, et qui affiche son âge.
# Réponse
Exercice 4¶
Ecrire un programme qui demande à l'utilisateur d'entrer un nombre de secondes, et qui l'affiche sous la forme d'heures/minutes/secondes.
# Réponse
Exercice 5¶
Ecrire un programme permettant d'échanger les valeurs de deux variables.
On pourra écrire les instructions suivantes :
- affecter à la variable var_1 une valeur saisie par l'utilisateur
- affecter à la variable var_2 une autre valeur saisie par l'utilisateur
- afficher le contenu de ces deux variables, en précisant bien de quelle variable il s'agit
- échanger les valeurs de ces deux variables, en utilisant une variable auxiliaire var_aux
- afficher à nouveau le contenu de ces deux variables, toujours en précisant de quelle variable il s'agit
# Réponse