Python au lycée (1) : Les variables Méthode

Convertir le type d’une variable (transtypage)

Durée estimée
5 minutes
Votre progression

Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.

Créer un compte

Transtypage

Transtyper une valeur, c'est la convertir d'un type vers un autre. On utilise les fonctions int(), float() et str().

Méthode

Pour transtyper une valeur en Python :

  1. Identifier le type de départ et le type d'arrivée souhaité.
  2. Utiliser la fonction adaptée :
  3. int(x) : convertit en entier (tronque la partie décimale, ne l'arrondit pas).
  4. float(x) : convertit en décimal.
  5. str(x) : convertit en chaîne de caractères.
  6. Ranger le résultat dans une variable ou l'utiliser directement dans un calcul.

Convertir entre nombres et chaînes

On considère les instructions suivantes :

a = 3.9
b = int(a)
c = str(a)
d = float("12.5")

Étape 1 : int(3.9) tronque la partie décimale et donne 3 (et non 4). La variable b vaut donc 3 (type int).

Étape 2 : str(3.9) transforme le nombre en la chaîne « 3.9 ». La variable c vaut « 3.9 » (type str).

Étape 3 : float("12.5") transforme la chaîne « 12.5 » en le décimal 12.5. La variable d vaut 12.5 (type float).

Transtyper une saisie utilisateur

On veut écrire un programme qui demande un nombre entier à l'utilisateur et affiche son double :

texte = input("Entrez un entier : ")
n = int(texte)
print("Le double vaut", 2 * n)

Étape 1 : input renvoie la valeur saisie au format str. Si l'utilisateur tape 7, la variable texte contient la chaîne « 7 ».

Étape 2 : int(texte) convertit la chaîne « 7 » en l'entier 7. La variable n est alors de type int.

Étape 3 : On peut calculer 2 * n, qui vaut 14, et l'afficher.

On écrit souvent cette conversion en une seule ligne :

n = int(input("Entrez un entier : "))

Attention

  • int("3.5") provoque une erreur : on ne peut pas transtyper directement une chaîne décimale en entier. Il faut passer par int(float("3.5")), qui vaut 3.
  • int tronque (ne garde que la partie entière) et ne fait pas d'arrondi : int(2.9) donne 2, pas 3. Pour arrondir, utiliser round.
  • Additionner une chaîne et un nombre provoque une erreur : « 3 » + 4 ne fonctionne pas. Il faut d'abord convertir.

Pour s'entraîner