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
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
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.