Menu
Français

Python print() et input() : lire l'entrée utilisateur et afficher la sortie

Comment fonctionnent les fonctions print() et input() de Python — plus les séparateurs, les caractères de fin et comment convertir l'entrée utilisateur en nombres.

Les deux fonctions qui rendent ton programme interactif

La plupart des premiers programmes Python suivent la même forme : demander quelque chose à l'utilisateur avec input(), faire quelque chose avec la réponse, et signaler le résultat avec print(). Ces deux fonctions intégrées sont la façon dont ton code parle au monde.

Prenons-les une à la fois.

Au plus simple, print() écrit une ligne de texte dans le terminal :

main.py
Output
Click Run to see the output here.

Ça affiche le mot hello suivi d'un saut de ligne. Le saut de ligne est ce qui sépare un appel print du suivant à l'écran.

Tu peux passer plusieurs valeurs dans un seul appel, et Python mettra un espace entre elles :

main.py
Output
Click Run to see the output here.

Sortie :

Name: Ada Age: 36

Les valeurs n'ont pas besoin d'être des chaînes. print appelle str() sur chaque argument, donc tu peux mélanger les types librement :

main.py
Output
Click Run to see the output here.

Changer le séparateur

Si un espace entre les valeurs n'est pas ce que tu veux, utilise sep :

main.py
Output
Click Run to see the output here.

Changer la fin de ligne

Par défaut, print ajoute un saut de ligne. Utilise end pour changer ça — par exemple, pour garder la sortie sur la même ligne :

main.py
Output
Click Run to see the output here.

end="" est l'astuce pour construire une ligne morceau par morceau.

Par défaut, print écrit vers stdout (la sortie standard) — l'endroit normal où apparaît la sortie terminal. Tu peux la rediriger vers stderr, un fichier ou tout autre objet de type fichier avec l'argument file :

main.py
Output
Click Run to see the output here.

Pour de la sortie formatée — deux décimales, colonnes rembourrées, virgules dans les grands nombres — utilise des f-strings dans print :

main.py
Output
Click Run to see the output here.

input() : lire depuis l'utilisateur

input(prompt) arrête le programme, affiche le prompt à l'utilisateur et attend. Ce que l'utilisateur tape — jusqu'à ce qu'il appuie sur Entrée — revient sous forme de chaîne.

main.py
Output
Click Run to see the output here.

Trois choses sur input qui mordent les débutants :

Il renvoie toujours une chaîne

Même si l'utilisateur tape 42, ce que tu récupères est la chaîne "42". Tu ne peux pas faire d'arithmétique dessus directement :

main.py
Output
Click Run to see the output here.

C'est pourquoi tu verras souvent int(input(...)) ou float(input(...)) en ligne. Si l'utilisateur tape quelque chose qui n'est pas un nombre valide, int() lève ValueError — qu'on gérera correctement dans le chapitre sur les exceptions.

Le prompt est optionnel

Si tu ne passes pas de chaîne prompt, input() attend en silence, ce qui est presque toujours un mauvais choix — l'utilisateur n'a aucune idée de ce que tu lui demandes. Passe toujours un prompt clair :

main.py
Output
Click Run to see the output here.

Il ne supprime rien

Tout ce que l'utilisateur tape, y compris les espaces en début et en fin, revient tel quel. Si ça compte pour ta logique, appelle .strip() :

main.py
Output
Click Run to see the output here.

Un petit programme complet

En mettant tout ensemble — quelques lignes qui demandent les infos à l'utilisateur et affichent un petit rapport :

main.py
Output
Click Run to see the output here.

Douze lignes. Ça se lit de haut en bas comme des instructions, pas comme du code. C'est le style que cette documentation essaie d'encourager.

Et le débogage par print ?

Tu entendras parfois que « les vrais développeurs utilisent un debugger, pas des print ». C'est exagéré. Print est un outil de débogage parfaitement bon, surtout pour de petits scripts et des expériences rapides. Parsème des appels print généreusement pendant que tu cherches à comprendre quelque chose, et retire-les quand tu as fini.

Deux petites astuces de confort :

main.py
Output
Click Run to see the output here.

Le = dans une f-string affiche à la fois le nom et la valeur, ce qui économise beaucoup de print("name =", name) répétitifs.

On avance

print et input te donnent une boucle conversationnelle complète : demander, lire, répondre. Le prochain chapitre commence à mélanger des conditions — l'instruction if et les opérateurs qui décident ce que ton programme fait selon les valeurs qu'il voit.

Questions fréquentes

Que fait print() en Python ?

Il écrit des valeurs dans le terminal. print("hello") affiche hello suivi d'un saut de ligne. Tu peux passer plusieurs valeurs séparées par des virgules, et print() mettra un espace entre elles par défaut.

Comment fonctionne input() en Python ?

input(prompt) met le programme en pause, affiche le prompt à l'utilisateur, attend qu'il tape quelque chose et appuie sur Entrée, puis renvoie ce qu'il a tapé sous forme de chaîne. Toujours une chaîne — si tu veux un nombre, enveloppe l'appel dans int(...) ou float(...).

Comment afficher sur la même ligne en Python ?

Passe end="" à print. Par défaut, print ajoute un saut de ligne après la sortie ; régler end sur une chaîne vide (ou n'importe quel autre caractère) remplace ce saut de ligne.

Apprendre à coder avec Coddy

COMMENCER