Vidéo 2 : Affichages

\(\newcommand{\ds}{\displaystyle}\) \(\newcommand{\Frac}{\ds\frac}\) \(\renewcommand{\r}{\mathbb{ R}}\) \(\newcommand{\C}{\mathbb{ C}}\) \(\newcommand{\n}{\mathbb{ N}}\) \(\newcommand{\z}{\mathbb{ Z}}\) \(\newcommand{\Q}{\mathbb{ Q}}\) \(\newcommand{\N}{\mathbb{ N}}\) \(\newcommand{\n}{\mathbb{ N}}\) \(\newcommand{\ol}{\overline}\) \(\newcommand{\abs}[1]{\left| \,{#1} \right|}\) \(\newcommand{\pv}{\;;\;}\) \(\newcommand{\ens}[1]{\left\{ {#1} \right\}}\) \(\newcommand{\mens}[1]{\setminus\left\{ {#1} \right\}}\) \(\newcommand{\Par}[1]{\left({#1}\right)}\)

Vidéo 2 : Affichages

Afficher

Soit le code Python dont le contenu est exactement le suivant :

5 + 5
2 + 2

Lorsqu’on demande à Python d’exécuter ce code, Python calculera \(5 + 5 = 10\) puis calculera \(2 + 2 =4\). Ensuite, selon l’environnement de programmation, le programme n’affichera rien ou n’affichera que le résultat du dernier calcul (ici 4).

Pour avoir la garantie que le résultat d’une opération sera affiché et correctement affiché, il faut le demander explicitement à Python avec une fonction fournie par le langage, la fonction print :

1
2
print(5 + 5)
print(2 + 2)

qui affiche

10
4

print est une fonction standard du langage Python pour signifier qu’elle est fournie nativement par le langage Python et immédiatement disponible pour utilisation. Comme c’est une fonction, pour l’utiliser et ainsi obtenir un affichage, il faut placer une paire de parenthèses après le nom print de la fonction et placer entre les parenthèses l’objet à afficher.

Afficher un message

On peut afficher un « message » avec la fonction print. Dans le code-source, le message est placé entre guillemets :

1
print("--->> Bonjour ! <<---")
2
--->> Bonjour ! <<---

Le message peut être plus ou moins élaboré voire fantaisiste.

Affichage multiple

Il est possible d’afficher plusieurs objets sur une même ligne à l’aide d’un seul appel à print.

1
print("toto", 42+100)
2
toto 142
  • Ligne 1 : on affiche la chaîne toto et le nombre 42+100.
  • Ligne 2 : les deux objets à afficher (toto et le nombre 152) sont séparés exactement d”un seul espace.

Les objets sont affichés sur une même ligne, séparés par un seul espace. Placer plus ou moins d’espacements dans l’écriture de l’appel à la fonction print ne modifie nullement l’espacement affiché :

1
print("toto"     ,        42+100)
2
toto 142
  • Ligne 1 : lors de l’écriture de l’appel dans le code-source, de nombreux espaces ont été placés entre les deux objets à afficher.
  • Ligne 2 : l’espacement à l’affichage reste pourtant d’une espace.

La possibilité d’affichage multiple s’applique aussi à des expressions dépendant de variables :

1
2
3
x = 42
y = 10
print(x + y, x - y)
4
52 32

Affichage amélioré

Le programmeur a parfois besoin de rendre plus lisible des résultats à afficher dans un terminal ou une zone d’output. Voici un exemple sommaire d’une telle situation :

afficherLisible.py

1
2
3
4
a = 100
b = 42
print(a + b, a - b)
print("L'addition -> ", a + b, "La soustraction ->", a - b)
5
6
142 58
L'addition ->  142 La soustraction -> 58
  • Ligne 3 et ligne 5 : affichage peu lisible.
  • Ligne 4 et ligne 6 : affichage dont le contenu est plus facilement interprétable.

Affichage et débogage

En particulier, pour vérifier (visuellement) la justesse d’un programme ou pour mieux en comprendre le fonctionnement, il est parfois utile de faire des affichages des variables et des valeurs calculées :

1
2
3
4
5
6
a = 100
b = 42
print("a = ", a, ",", "b = ", b)
print("---------------------")
print("a + b  = ", a + b)
print("a - b  = ", a - b)
 7
 8
 9
10
a =  100 , b =  42
---------------------
a + b  =  142
a - b  =  58

L’action de rechercher les erreurs (les « bugs » ou, en français, les « bogues ») que contient un programme s’appelle le débogage. Le placement d’instructions d’affichage dans certaines parties bien choisies d’un code-source en cours de réalisation dans le but de mieux comprendre comment il s’exécute et ce que valent les variables pendant l’exécution du code est une forme très fréquente de débogage (bien que très rudimentaire).

Afficher un message complexe

Comme un texte est une suite de lignes, la fonction print permet d’afficher des messages plus élaborés :

1
2
3
4
5
print("Voici les couleurs")
print()
print("+----------+----------+----------+")
print("|   Rouge  |  Vert    |  Bleu    |")
print("+----------+----------+----------+")

qui affiche

1
2
3
4
5
Voici les couleurs

+----------+----------+----------+
|   Rouge  |  Vert    |  Bleu    |
+----------+----------+----------+

Noter, qu’en général, ce type de message est compliqué à construire et à maintenir.

Affichage et forcer un passage à la ligne

Pour séparer deux affichages bien distincts d’un même programme, le programmeur veut parfois placer un ou plusieurs sauts de ligne entre les parties à afficher. Par exemple, supposons qu’il veuille afficher

un
deux
trois


1
2
3

Il est sans effet de passer des sauts de lignes dans le code-source. Ainsi, le code suivant

1
2
3
4
5
6
7
8
print("un")
print("deux")
print("trois")


print(1)
print(2)
print(3)

affichera

un
deux
trois
1
2
3

(noter les sauts de lignes dans le code-source aux lignes 4-5).

Une solution au problème est la suivante :

1
2
3
4
5
6
7
8
print("un")
print("deux")
print("trois")
print()
print()
print(1)
print(2)
print(3)
 9
10
11
12
13
14
15
16
un
deux
trois


1
2
3
  • Lignes 4-5 : appel à la fonction print sans argument (une paire de parenthèses vides).
  • Lignes 12-13 : chaque appel print() effectue un saut de ligne à l’affichage ce qui « allège » l’affichage final.