Conversion de type

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() et str().

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.

Faites le point

Exemple : Évaluations de livres

Concepts en pratique

Conversion de type implicite en pratique

Considérez l'exemple ci-dessus.

1.
Quel est le type de données de book_rating' à la ligne 7 ?
  1. float
  2. entier
2.
Quel serait le type de données de book_rating' si update = 1.0 au lieu de 0.5 ?
  1. float
  2. entier
3.
Quel est le type de données de x après l'exécution du code suivant ?
x = 42.0
x = x * 1
  1. float
  2. entier

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) produit 5.
  • float() convertit un type de données en un flottant. Ex. : float(2) produit 2.0.
  • str() convertit un type de données en une chaîne de caractères. Ex. : str(3.14) produit "3.14".

Faites le point

Exemple : Commander une pizza

Concepts en pratique

Exemple : Commander une pizza

Considérez l'exemple ci-dessus.

4.
Quelle fonction convertit le nombre de parts entré en un type de données pouvant être utilisé dans le calcul ?
  1. float()
  2. input()
  3. int()
5.
Comment la ligne 3 pourrait-elle être modifiée pour améliorer le programme dans son ensemble ?
  1. Utiliser float() au lieu de int().
  2. Ajouter 1 au résultat de int().
  3. Ajouter str() autour de int().

Concepts en pratique

Utiliser int(), float() et str()

Étant donné x = 4.5 et y = int(x), quelle est la valeur de chaque expression ?

6.
y
  1. 4
  2. 5
7.
str(x)
  1. 4.5
  2. "4.5"
8.
float(y)
  1. 4.0
  2. 4.5

À 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 :

  • ounces est un entier représentant le nombre d'onces bues par l'utilisateur.
  • cups_drank est un float représentant le nombre de verres d'eau bus.
  • cups_left est 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.