Accepter l’entrée utilisateur

Terminée

Tip

Pour plus d’informations, consultez l’onglet Texte et images !

Les programmes deviennent vraiment puissants quand ils peuvent interagir avec les personnes qui les utilisent. Python fonction intégrée input() vous permet de suspendre votre programme, d'attendre que l'utilisateur tape quelque chose et de capturer ces informations.

Utilisation d’input()

Considérez la input() fonction comme une invite de questions. Lorsque Python atteint cette ligne, il attend que l’utilisateur tape sa réponse et appuie sur la touche Entrée avant de continuer avec le reste du code.

Pour enregistrer leur réponse, vous devez l’intercepter à l’aide d’une variable :

favorite_color = input("What is your favorite color? ")
print("Oh, I love", favorite_color, "too!")

Dans ce code, favorite_color il s’agit d’une variable qui intercepte la réponse de l’utilisateur. Si l’utilisateur tape Blue et appuie sur Entrée, la sortie est la suivante :

What is your favorite color? Blue
Oh, I love Blue too!

Vous pouvez essayer d’exécuter ce code vous-même dans un interpréteur Python en ligne à l’adresse https://aka.ms/python-coder.

Tip

Notez l’espace vide à la fin de l’invite : "What is your favorite color? ". Lorsque vous acceptez l’entrée utilisateur, ajoutez un espace ou une nouvelle ligne avant de fermer vos guillemets. Si ce n’est pas le cas, la saisie de l’utilisateur est collée directement à votre texte, ce qui ressemble à ceci : What is your favorite color?Blue

Un mot rapide sur les types de données

Avant d'aller plus loin, il vous permet de savoir que chaque valeur de Python a un type de données, qui est une étiquette qui indique Python quel type de valeur elle fonctionne. Par exemple, certains types de données courants sont les suivants :

  • Chaîne (str) : Texte encapsulé entre guillemets, comme "Blue" ou "25". Même un nombre devient du texte lorsqu’il est entre guillemets.
  • Entier (int) : nombre entier sans guillemets, comme 25 ou 100. Python pouvez effectuer des mathématiques avec celles-ci.

Pourquoi est-ce important ? Python traite ces deux types très différemment. Vous pouvez ajouter des nombres 26ensemble (25 + 1égaux), mais vous ne pouvez pas ajouter de nombre à du texte ("25" + 1provoque une erreur).

L’entrée est toujours du texte

Une règle essentielle à mémoriser est que la fonction retourne toujours du input() texte, même si l’utilisateur tape un nombre. Par exemple:

age = input("How old are you? ")
print("Next year you will be", age + 1)

Si vous exécutez ce code et tapez 25, vous pouvez vous attendre à l’imprimer 26. Au lieu de cela, Python plante et affiche un message d’erreur dans votre console :

TypeError: can only concatenate str (not "int") to str

Comme le age texte est verrouillé, vous ne pouvez pas encore effectuer d’opérations mathématiques.

Comment lire cette erreur

Les erreurs sont des indices sur ce qui s’est passé dans le code. Nous allons décomposer ces indices :

  • TypeError: Vous essayez de combiner deux types de données qui n’appartiennent pas ensemble.
  • can only concatenate str (not "int") to str: « Concaténer » signifie coller du texte ensemble.

Python dit : « Vous m’avez donné le texte « 25 », et m’a demandé de coller le numéro 1 à celui-ci. Je peux coller du texte au texte, mais je ne sais pas comment coller un nombre mathématique au texte !"

Étant donné que input() verrouille la réponse de votre utilisateur entre guillemets de texte, Python voit votre calcul comme « 25 » + 1, ce qui est une équation mathématique impossible.