Maîtriser la fonction input() pour créer des programmes Python interactifs

Les 3 points clés à retenir :

  • La fonction input() permet de récupérer des données saisies par l’utilisateur, toujours sous forme de chaîne de caractères qu’il faut convertir si nécessaire.
  • La fonction print() affiche du texte ou d’autres objets dans la console, avec de nombreuses options de formatage comme les séparateurs et les fins de ligne personnalisées.
  • Combiner input() et print() avec des boucles et des conditions permet de créer des programmes interactifs où l’utilisateur fournit des entrées que le programme traite et affiche des résultats.

La fonction input()

La fonction input() en Python permet de récupérer des données saisies par l’utilisateur dans la console. Son fonctionnement est simple : lorsqu’elle est appelée, le programme attend que l’utilisateur entre une valeur puis appuie sur la touche Entrée. Input() renvoie alors une chaîne de caractères correspondant à la saisie effectuée.

nom = input("Quel est votre nom ? ")
print("Bonjour " + nom)

Ici, la fonction affiche la question « Quel est votre nom ? » puis attend la saisie de l’utilisateur. La valeur entrée est stockée dans la variable nom, qui est ensuite utilisée dans l’instruction print().

Syntaxe et paramètres de la fonction input()

La syntaxe de base est input(). Toutefois, il est recommandé de passer un argument textuel pour inviter l’utilisateur à saisir une valeur, comme dans l’exemple ci-dessus. Cet argument est une simple chaîne de caractères affichée avant d’attendre la saisie.

Conversion de types pour les entrées utilisateur

Par défaut, input() renvoie une chaîne de caractères. Si vous avez besoin d’un nombre, d’un booléen ou d’un autre type de données, vous devez convertir la saisie manuellement. Voici quelques exemples :

age = int(input("Quel est votre âge ? "))
autoriser = bool(input("Autoriser l'accès ? (O/N) ").lower() == "o")

La fonction int() convertit la chaîne en un nombre entier, tandis que bool() convertit la saisie en booléen (True ou False) après avoir converti en minuscules et comparé à « o ».

Utiliser la fonction print()

La fonction print() affiche du texte ou d’autres objets dans la console. C’est le moyen le plus simple d’afficher des informations à l’utilisateur en Python. Par défaut, print() insère une nouvelle ligne après le texte affiché.

print("Bonjour le monde !")

Cet exemple affichera « Bonjour le monde ! » suivi d’une nouvelle ligne vide.

Formatage de base avec print()

Vous pouvez passer plusieurs arguments à print() pour afficher plusieurs éléments sur la même ligne. Les éléments seront séparés par un espace par défaut.

prenom = "John"
nom = "Doe"
print("Bonjour", prenom, nom)
# Affiche "Bonjour John Doe"

Utilisation des séparateurs et des fins de ligne personnalisées

Vous pouvez personnaliser le séparateur entre les éléments et la fin de ligne grâce aux paramètres nommés sep et end :

print("Pomme", "Banane", "Cerise", sep=", ", end=".\n")
# Affiche "Pomme, Banane, Cerise."

Ici, les éléments sont séparés par une virgule et un espace, et la chaîne « .\n » est ajoutée à la fin (un point suivi d’un saut de ligne).

Interagir avec l’utilisateur

programmation en python

En combinant les fonctions input() et print(), vous pouvez créer des programmes interactifs où l’utilisateur fournit des données, et le programme affiche des résultats en fonction de ces données.

Par exemple, un programme de calcul d’âge pourrait ressembler à ceci :

annee_naissance = int(input("Quelle est votre année de naissance ? "))
annee_actuelle = 2023
age = annee_actuelle - annee_naissance
print("Vous avez", age, "ans.")

Boucles et conditions pour une interaction plus complexe

Pour des interactions plus avancées, vous pouvez utiliser des boucles et des instructions conditionnelles. Cela permet de valider les entrées, de demander des informations supplémentaires ou de répéter certaines parties du programme.

while True:
    reponse = input("Voulez-vous continuer ? (O/N) ").lower()
    if reponse == "o":
        print("Continuons !")
        break
    elif reponse == "n":
        print("Au revoir !")
        break
    else:
        print("Réponse invalide, veuillez réessayer.")

Validation et gestion des erreurs d’entrée utilisateur

Il est important de valider les entrées utilisateur pour éviter les erreurs et les comportements inattendus. Vous pouvez utiliser des instructions conditionnelles, des boucles et des exceptions pour gérer les cas d’erreur.

while True:
    try:
        age = int(input("Quel est votre âge ? "))
        break
    except ValueError:
        print("Désolé, je n'ai pas compris. Veuillez entrer un nombre.")

Ici, le bloc try/except capture l’exception ValueError levée si l’utilisateur entre une valeur non numérique, et lui demande de réessayer.

Exemples pratiques

Voici deux exemples concrets d’utilisation des fonctions input() et print() :

Exemple 1 : Calculer l’âge à partir de l’année de naissance

annee_naissance = int(input("Quelle est votre année de naissance ? "))
annee_actuelle = 2023
age = annee_actuelle - annee_naissance
print("Vous avez", age, "ans.")

Ce programme demande à l’utilisateur son année de naissance, calcule son âge en soustrayant cette année de l’année actuelle (2023 dans cet exemple), puis affiche l’âge calculé.

Exemple 2 : Créer un formulaire de saisie de nom et prénom

prenom = input("Quel est votre prénom ? ")
nom = input("Quel est votre nom ? ")
print("Bonjour", prenom, nom + "!")

Ici, le programme demande d’abord le prénom de l’utilisateur, puis son nom de famille. Il combine ensuite ces deux informations pour afficher un message de bienvenue personnalisé.

Bonnes pratiques et pièges à éviter

Voici quelques bonnes pratiques à suivre et pièges courants à éviter lors de l’utilisation des fonctions input() et print() :

  • Clarté des invites pour l’utilisateur : Assurez-vous que les invites de saisie sont claires et non ambiguës pour l’utilisateur. Précisez le format attendu si nécessaire.
  • Gestion des entrées vides ou invalides : Prévoyez des mécanismes pour détecter et gérer les entrées vides ou invalides de la part de l’utilisateur, afin d’éviter les erreurs et les comportements inattendus.
  • Formatage de sortie lisible : Utilisez judicieusement les options de formatage de print() pour afficher les résultats de manière claire et lisible.
  • Conversion de types explicite : N’oubliez pas de convertir les entrées utilisateur au type de données approprié si nécessaire, car input() renvoie toujours une chaîne de caractères par défaut.
  • Sécurité des entrées : Soyez prudent avec les entrées utilisateur non validées, car elles peuvent représenter un risque de sécurité dans certains contextes (injection de code, failles XSS, etc.).

Ressources supplémentaires

ressources python

Pour approfondir vos connaissances sur les fonctions input() et print(), vous pouvez consulter les ressources suivantes :

Documentation officielle de la fonction input()
Documentation officielle de la fonction print()
Subreddit /r/learnpython : une communauté active pour poser des questions et obtenir de l’aide sur Python.
Questions Python sur Stack Overflow : un vaste référentiel de questions et réponses sur Python.
Real Python : un site proposant des tutoriels et des ressources de qualité pour apprendre Python.

Articles récents

Articles similaires

Leave A Reply

S'il vous plaît entrez votre nom ici

Restez à l'écoute - Recevez les dernières actualités dans votre boîte mail