Entrées et sorties
Tout programme interactif doit pouvoir communiquer avec l'utilisateur : afficher des résultats et recevoir des données. Python fournit deux fonctions intégrées pour cela : print() pour la sortie et input() pour la saisie.
Fonction print()
print() affiche une ou plusieurs valeurs à l'écran en les convertissant automatiquement en chaîne de caractères.
print(valeur1, valeur2, ..., sep=' ', end='\n', file=sys.stdout, flush=False)| Paramètre | Type | Valeur par défaut | Description |
|---|---|---|---|
valeur(s) | Tout type | — | Valeurs à afficher, converties en str |
sep | str | ' ' (espace) | Séparateur entre les valeurs |
end | str | '\n' | Caractère affiché après la dernière valeur |
file | objet fichier | sys.stdout | Destination de la sortie (écran ou fichier) |
flush | bool | False | Vider le tampon immédiatement si True |
Exemple n°1 — Usages courants de print()
a = 2
b = 5
tab = [2, 3, 5]
# Afficher un message
print("Bonjour")
# Afficher une variable
print(a)
# Afficher un message et une variable
print("Valeur de a :", a)
# Afficher plusieurs valeurs (séparateur par défaut : espace)
print("a =", a, "et b =", b)
# Utiliser un séparateur personnalisé
print("a", a, "b", b, sep=" | ")
# Utiliser end pour rester sur la même ligne
for elm in tab:
print(elm, end=" → ")
print("fin")Bonjour 2 Valeur de a : 2 a = 2 et b = 5 a | 2 | b | 5 2 → 3 → 5 → fin
Formatage de sortie
Python propose trois méthodes pour formater les chaînes affichées. La méthode recommandée depuis Python 3.6 est les f-strings.
| Méthode | Syntaxe | Disponible depuis | Recommandé ? |
|---|---|---|---|
| f-string | f"texte {var}" | Python 3.6+ | ✅ Oui |
| str.format() | "texte {}".format(var) | Python 2.7+ | ⚠️ Acceptable |
| Opérateur % | "texte %s" % var | Python 2 | ❌ Déconseillé |
Exemple n°2 — f-strings (méthode recommandée)
nom = "Mostafa"
note = 18.5
rang = 1
print(f"Étudiant : {nom}")
print(f"Note : {note:.2f} / 20") # 2 décimales
print(f"Rang : {rang:03d}") # 3 chiffres avec zéros
print(f"Mention : {'Excellent' if note >= 16 else 'Bien'}")Étudiant : Mostafa Note : 18.50 / 20 Rang : 001 Mention : Excellent
Exemple n°3 — str.format()
a, b = 4, 12
# Accolades vides — ordre positionnel
print("a = {} et b = {}".format(a, b))
# Avec index
print("b = {1} et a = {0}".format(a, b))
# Avec arguments nommés
print("{msg} a = {v1} et b = {v2}".format(msg="Valeurs :", v1=a, v2=b))a = 4 et b = 12 b = 12 et a = 4 Valeurs : a = 4 et b = 12
Exemple n°4 — Opérateur % (style C)
b = 34.534534534
print("b = %.2f" % b) # 2 décimales
print("b = %10.3f" % b) # largeur 10, 3 décimales
print("b = %e" % b) # notation scientifiqueb = 34.53 b = 34.535 b = 3.453453e+01
::pi = 3.14159265
print(f"{pi:.2f}") # 3.14 — 2 décimales
print(f"{pi:10.3f}") # 3.142 — largeur 10, 3 décimales
print(f"{pi:e}") # 3.141593e+00 — notation scientifique
print(f"{1000000:,}") # 1,000,000 — séparateur de milliers
print(f"{'Python':>10}") # ' Python' — aligné à droiteFonction input()
input() suspend l'exécution du programme, affiche un message optionnel et attend que l'utilisateur saisisse une valeur puis appuie sur Entrée. Elle retourne toujours une chaîne (str), quelle que soit la valeur tapée.
variable = input("message à afficher : ")input() retourne toujours un str Même si l'utilisateur tape 42, la valeur reçue est la chaîne "42", pas l'entier 42. Il faut convertir explicitement avec int() ou float() avant tout calcul.Exemple n°5 — Saisie brute
a = input("Saisir une valeur : ")
print(type(a)) # <class 'str'>
print(a) # "5" — chaîne, pas un entier !Saisir une valeur : 5 <class 'str'> 5
Exemple n°6 — Conversion en entier avec int()
a = int(input("Saisir un entier : "))
b = int(input("Saisir un autre entier : "))
print(f"Somme : {a + b}")
print(f"Produit : {a * b}")
print(f"Quotient : {a / b:.2f}")Saisir un entier : 10 Saisir un autre entier : 4 Somme : 14 Produit : 40 Quotient : 2.50
Exemple n°7 — Saisie avec validation
try:
note = float(input("Saisir une note (0-20) : "))
assert 0 <= note <= 20, "Note hors intervalle !"
print(f"Note saisie : {note:.1f}/20")
except ValueError:
print("Erreur : veuillez saisir un nombre.")
except AssertionError as e:
print(f"Erreur : {e}")Saisir une note (0-20) : 25 Erreur : Note hors intervalle !
Exemple n°8 — Saisie multiple sur une ligne
# Saisir plusieurs valeurs séparées par des espaces
valeurs = input("Saisir trois entiers (ex: 1 2 3) : ").split()
a, b, c = int(valeurs[0]), int(valeurs[1]), int(valeurs[2])
# Version concise avec map()
# a, b, c = map(int, input("Saisir trois entiers : ").split())
print(f"a={a}, b={b}, c={c}, somme={a+b+c}")Saisir trois entiers (ex: 1 2 3) : 4 7 2 a=4, b=7, c=2, somme=13
map() Pour lire plusieurs entiers en une seule ligne, le pattern map(int, input().split())est très courant en algorithmique et dans les concours :# Lire n valeurs entières sur une ligne
a, b, c = map(int, input("Entiers : ").split())
# Lire une liste entière
liste = list(map(int, input("Liste : ").split()))
Discussion (0)
Soyez le premier à laisser un commentaire !
Laisser un commentaire
Votre commentaire sera visible après modération.