Rendre le programme interactif avec input

Rendre le programme interactif avec input

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 ? ")
  • nom va 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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *