2.2 Conversion de type
Objectifs d'apprentissage
À la fin de cette section, vous devriez être en mesure de :
- Expliquer comment l'interpréteur utilise la conversion de type implicite.
- Utiliser la conversion de type explicite avec
int(),float()etstr().
Conversion de type implicite
Des opérations courantes mettent à jour une variable de telle sorte que son type de données doit être modifié. Ex. : un GPS affecte d'abord à distance la valeur 250, un entier. Après une erreur de parcours, le GPS affecte à distance la valeur 252.5, un flottant. L'interpréteur Python a recours à la conversion de type implicite (implicit type conversion) pour convertir automatiquement un type de données en un autre. Une fois que distance reçoit la valeur 252.5, l'interpréteur convertit distance d'un entier en un flottant sans que le programmeur n'ait besoin de spécifier la conversion.
Concepts en pratique
Conversion de type implicite en pratique
Considérez l'exemple ci-dessus.
Conversion de type explicite
Un programmeur a souvent besoin de changer de type de données pour effectuer une opération. Ex. : un programme doit lire deux valeurs à l'aide de input() et en faire la somme. N'oubliez pas que input() lit les valeurs sous forme de chaînes de caractères. Un programmeur peut utiliser la conversion de type explicite (explicit type conversion) pour convertir un type de données en un autre.
- int() convertit un type de données en un entier. Toute partie fractionnaire est supprimée. Ex. :
int(5.9)produit5. - float() convertit un type de données en un flottant. Ex. :
float(2)produit2.0. - str() convertit un type de données en une chaîne de caractères. Ex. :
str(3.14)produit"3.14".
Concepts en pratique
Exemple : Commander une pizza
Considérez l'exemple ci-dessus.
Concepts en pratique
Utiliser int(), float() et str()
Étant donné x = 4.5 et y = int(x), quelle est la valeur de chaque expression ?
À vous d'essayer
Moyenne des notes
Le programme suivant calcule la moyenne de trois notes d'examen prédéfinies et affiche la moyenne deux fois. Améliorez le programme pour qu'il lise les trois notes depuis l'entrée et affiche la moyenne d'abord sous forme de float, puis sous forme d'entier, en utilisant la conversion de type explicite. Ignorez toute différence due à l'arrondi.
À vous d'essayer
Verres d'eau
Le programme suivant doit lire le nombre d'onces d'eau que l'utilisateur a bu aujourd'hui et calculer le nombre de verres bus ainsi que le nombre de verres restant à boire en fonction d'un objectif quotidien. Supposez qu'un verre contienne 8 onces. Corrigez le code pour calculer cups_drank et cups_left afin de respecter ce qui suit :
ouncesest un entier représentant le nombre d'onces bues par l'utilisateur.cups_drankest un float représentant le nombre de verres d'eau bus.cups_leftest un entier représentant le nombre de verres d'eau restant à boire (arrondi à l'entier inférieur) par rapport à l'objectif quotidien de 8 verres.
À vous d'essayer
Produit sous forme de float
Le programme suivant lit deux entiers sous forme de chaînes de caractères. Calculez le produit de ces deux entiers et affichez le résultat sous forme de float.