Introduction :
Lorsque l’on développe un programme interactif en Python, il est très fréquent de demander des informations à l’utilisateur, comme son nom ou son âge. Cependant, une difficulté importante apparaît rapidement : toutes les données saisies avec input() sont des chaînes de caractères. Il est donc indispensable de comprendre comment convertir ces données et comment gérer les erreurs possibles.
Dans cet article, nous allons voir comment convertir une chaîne de caractères en nombre entier et comment réagir lorsque l’utilisateur saisit une valeur invalide.
Redemander le nom et l’âge à l’utilisateur :
Pour commencer, nous souhaitons poser deux questions simples :
- Quel est votre nom ?
- Quel est votre âge ?
En Python, cela se fait avec la fonction input(). Cette fonction retourne toujours une chaîne de caractères, même si l’utilisateur saisit un nombre.
Ainsi, même si l’utilisateur entre 25, Python le considère comme "25".
Le problème de la conversion des types :
Pourquoi le programme ne fonctionne pas au début ?
Le problème apparaît lorsque l’on tente de faire un calcul avec l’âge.
Par exemple, ajouter 1 à l’âge pour afficher l’âge de l’année prochaine.
"25" + 1❌ ne fonctionne pas25 + 1✅ fonctionne
Python ne peut pas additionner une chaîne de caractères et un nombre. Il faut donc convertir la chaîne en entier.
Convertir une chaîne de caractères en entier:
Utilisation de la fonction int():
Pour convertir une valeur saisie par l’utilisateur en nombre entier, on utilise la fonction int().
Exemple :
- age = int(age)
À ce moment-là :
"25"devient25- les guillemets disparaissent
- Python peut effectuer des calculs
Grâce à cette conversion, on peut calculer l’âge de l’année prochaine et obtenir une valeur correcte.
Comprendre les étapes du traitement:
Voici ce qui se passe étape par étape :
- L’utilisateur saisit son âge →
"25"(chaîne de caractères) - La fonction
int()convertit"25"→25(nombre entier) - Le programme ajoute 1 →
26 - La valeur est reconvertie en chaîne avec
str()pour être affichée - Le résultat final est affiché correctement à l’écran
Tout fonctionne parfaitement si la conversion réussit.
Que se passe-t-il si l’utilisateur se trompe ?:
Le cas d’une saisie invalide:
Si l’utilisateur entre une valeur qui n’est pas un nombre, par exemple :
"abcd""un BCD"
Python ne peut pas convertir cette chaîne en entier.
Le programme affiche alors une erreur car la conversion avec int() est impossible.
C’est un comportement normal, mais ce n’est pas très agréable pour l’utilisateur.
Pourquoi gérer les erreurs est indispensable:
Un bon programme doit être capable de :
- détecter les erreurs de saisie
- afficher un message clair
- demander à l’utilisateur de recommencer
Sans gestion des erreurs, le programme s’arrête brutalement, ce qui donne une mauvaise expérience utilisateur.
Conclusion:
La conversion des types est une étape essentielle en Python, surtout lorsque l’on travaille avec des entrées utilisateur.
Il faut retenir que :
input()retourne toujours une chaîne de caractèresint()permet de convertir une chaîne en nombre entier- une saisie invalide provoque une erreur
- il est important d’anticiper ces erreurs pour rendre le programme plus robuste
Dans la prochaine étape, nous verrons comment gérer ces erreurs directement dans le code, afin d’avertir l’utilisateur et lui permettre de saisir correctement son âge sans faire planter le programme.
Manipuler les Nombres en Python : Guide Pratique pour Débutants
