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.
print() : écrire la sortie
Au plus simple, print() écrit une ligne de texte dans le terminal :
Ç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 :
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 :
Changer le séparateur
Si un espace entre les valeurs n'est pas ce que tu veux, utilise sep :
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 :
end="" est l'astuce pour construire une ligne morceau par morceau.
print va vers stdout
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 :
Pour de la sortie formatée — deux décimales, colonnes rembourrées, virgules dans les grands nombres — utilise des f-strings dans print :
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.
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 :
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 :
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() :
Un petit programme complet
En mettant tout ensemble — quelques lignes qui demandent les infos à l'utilisateur et affichent un petit rapport :
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 :
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.