Python 2.4 : Demande de données à l'utilisateur
Pour rendre nos programmes Python interactifs, nous devons pouvoir demander une donnée à l'utilisateur. C'est exactement le rôle de la fonction input(), qui affiche un message à l'écran et attend que l'utilisateur tape une réponse suivie de la touche Entrée. La valeur saisie est alors retournée par la fonction et peut être stockée dans une variable.
Utilisation de input()
La fonction input() prend en argument optionnel le texte à afficher avant la saisie. Voici le schéma typique pour demander un nom et l'utiliser ensuite :
nom = input("Quel est ton nom ? ")
print("Bonjour " + nom)
Quand le programme arrive à input(), il est mis en pause et attend que l'utilisateur tape sa réponse. Tant que la touche Entrée n'est pas pressée, le programme reste bloqué. C'est ce qu'on appelle un appel bloquant. Pensez à laisser un espace à la fin du message, sinon la réponse de l'utilisateur viendra se coller au texte de la question.
Les points importants sur les variables :
- On déclare une variable avant de l'utiliser, jamais l'inverse
- Une variable peut être réaffectée à tout moment
- input() retourne toujours une chaîne de caractères
- Le message de input() est optionnel mais conseillé
- L'intérêt des variables est de manipuler des données inconnues à l'avance
L'ordre déclaration puis appel est non négociable : si vous essayez d'utiliser une variable qui n'a pas encore été créée, Python lève une NameError. C'est précisément cet aspect dynamique qui fait l'intérêt des variables : leur valeur peut changer à chaque exécution selon ce que tape l'utilisateur. À très bientôt pour la suite du cours sur la demande de plusieurs données.
En résumé
Cette leçon explique comment utiliser la fonction `input()` en Python pour demander des données à l'utilisateur et les stocker dans une variable. Elle couvre le fonctionnement de `input()` qui affiche un message et attend l'entrée de l'utilisateur, l'importance de déclarer les variables avant de les utiliser, et comment manipuler les données saisies dans le programme.
Points clés
- La fonction `input()` permet de demander et récupérer des données de l'utilisateur en Python
- Cette fonction bloque l'exécution du programme jusqu'à ce que l'utilisateur appuie sur Entrée
- Il est possible d'afficher du texte dans `input()` pour guider l'utilisateur (ex: `input('Quel est votre nom ? ')`)
- Les variables doivent être déclarées avant d'être utilisées, sinon Python génère une erreur
- L'intérêt principal des variables est de manipuler des données que l'utilisateur saisit et que le programme ne connaît pas à l'avance
Questions fréquentes
Qu'est-ce que la fonction `input()` en Python ?
C'est une fonction qui affiche un message à l'utilisateur, puis attend que l'utilisateur tape quelque chose au clavier et appuie sur Entrée. Elle retourne ensuite le texte saisi par l'utilisateur.
Comment ajouter du texte d'invitation avant `input()` ?
On place le texte directement dans les parenthèses de la fonction, par exemple : `input('Quel est votre nom ? ')`. Ce texte s'affichera avant que le curseur attende l'entrée.
Que se passe-t-il si j'utilise une variable sans l'avoir déclarée d'abord ?
Python génère une erreur car la variable n'existe pas. Il faut toujours d'abord déclarer la variable (l'assigner une valeur), puis la réutiliser ensuite dans le programme.