Adloun

Convertir avant de calculer

Application directe du cours · niveau 2 · sciences numériques et technologie (seconde), chapitre 2 — Variables, types et affectations · Les types de données

Énoncé

Ce programme provoque une erreur :

a = "12"
b = 3
print(a + b)
  1. Expliquer pourquoi.
  2. Le corriger de deux façons : l'une donnant 15, l'autre donnant 123.

Corrigé

1. a est une chaîne (str) et b un entier (int). Python refuse d'additionner deux types différents : il lève une TypeError. Le symbole + a deux sens — addition entre nombres, concaténation entre chaînes — et il faut choisir.

2. Pour obtenir le nombre , on convertit la chaîne en entier :

print(int(a) + b)   # 15

Pour obtenir la chaîne "123", on convertit l'entier en chaîne :

print(a + str(b))   # 123

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.