Introduction
Jusqu’à présent, notre programme utilisait des valeurs écrites directement dans le code.
Nous allons maintenant l’améliorer en demandant le nom à l’utilisateur au moment de l’exécution.
Cela signifie que nous allons manipuler une donnée que nous ne connaissons pas à l’avance, ce qui est l’un des grands intérêts des variables.
Comprendre le rôle de l’interaction utilisateur
Quand un programme demande une information à l’utilisateur :
- le programme s’arrête temporairement
- il attend que l’utilisateur saisisse une valeur
- il reprend ensuite son exécution avec cette valeur
C’est exactement ce que nous allons faire avec la fonction input.
La fonction input
En Python, la fonction input permet :
- d’afficher un message à l’écran
- de récupérer ce que l’utilisateur tape au clavierExemple simple :
input("Quel est ton nom ? ")
Lorsque le programme s’exécute, il affiche la question et attend que l’utilisateur appuie sur Entrée.
Récupérer la réponse de l’utilisateur :
La fonction input retourne une valeur.
Pour l’exploiter, il faut la stocker dans une variable :
nom = input("Quel est ton nom ? ")
nomva contenir exactement ce que l’utilisateur a saisi- cette valeur est une chaîne de caractères
Conseil important :
Même si Python accepte les accents dans les noms de variables, évitez-les absolument.
Utilisez toujours des noms simples comme nom, reponse, prenom.
Afficher le nom saisi par l’utilisateur :
Nous pouvons maintenant réutiliser la variable nom dans notre programme :
print("Je m'appelle " + nom)
print("Mon nom c'est bien " + nom + ".")
Exécution possible :
Quel est ton nom ? Titi Je m’appelle Titi Mon nom c’est bien Titi.
Améliorer l’affichage de la question :
Pour un affichage plus propre, on peut ajouter des espaces :
nom = input("Quel est votre nom ? ")
Cela rend la saisie plus agréable pour l’utilisateur.
L’importance de l’ordre des lignes :
L’ordre du code est fondamental en programmation.
❌ Ceci ne fonctionne pas :
print("Je m'appelle " + nom)
nom = input("Quel est votre nom ? ")
Pourquoi ?
Parce que Python lit le programme de haut en bas et la variable nom n’existe pas encore au moment où elle est utilisée.
✅ La bonne version :
nom = input("Quel est votre nom ? ")
print("Vous vous appelez " + nom)
Le comportement bloquant de input :
La fonction input est bloquante :
- le programme s’arrête
- il attend une saisie
- il reprend seulement après que l’utilisateur appuie sur Entrée
Exemple :
Quel est votre nom ? Paul
Vous vous appelez Paul
Que se passe-t-il si l’utilisateur ne saisit rien ?
Si l’utilisateur appuie directement sur Entrée sans rien écrire :
- la variable reçoit une chaîne vide
- équivalent à :
""
Le programme fonctionne toujours, mais l’affichage devient :
Vous vous appelez
Ce n’est pas une erreur, mais ce n’est pas forcément souhaitable.
👉 Plus tard, nous verrons comment utiliser des conditions pour forcer l’utilisateur à entrer un nom valide.
Les types de caractères acceptés par input
La fonction input accepte :
- des lettres
- des chiffres
- des caractères spéciaux
Tout est traité comme une chaîne de caractères.
Exemples valides :
Alex
123
Jean_45!
Remarque importante sur Python 2 et Python 3 :
Si vous obtenez une erreur du type :
NameError: name is not defined
Cela signifie probablement que vous utilisez Python 2, ce qui n’est plus recommandé.
✅ Assurez-vous d’utiliser Python 3 (3.8, 3.9, 3.10, etc.)
Dans PyCharm, vérifiez que l’interpréteur de base est bien une version Python 3.
