input()input() retourne toujours une str en Python 3. Il faut convertir explicitement si un autre type est attendu.
a = "5"
a = int(a) # a vaut maintenant l'entier 5
a = 5
b = "10"
b = int(b)
print(a + b) # → 15
⚠️ La conversion doit être réaffectée à la variable. Sans ça, le type ne change pas :
b = "10" int(b) # crée un nouvel objet mais ne modifie pas b print(b) # → "10" (toujours une str)
💡 Dans l'interpréteur IDLE,
int(b)affiche10sans guillemets — cela peut faire croire queba été converti alors que non.