class: center, middle # Affichage --- # Affichage d'une ou plusieurs variables La fonction
print()
permet l'affichage de variables. ```python >>> nom = 'Sandra' >>> lieu = 'Jouy-en-Josas' >>> print(nom, 'travaille à', lieu) Sandra travaille à Jouy-en-Josas ``` ```python >>> prenom = 'Sandra' >>> nom = 'Dérozier' >>> print(prenom, nom) Sandra Dérozier ``` ```python >>> prenom = 'Sandra' >>> nom = 'Dérozier' >>> print(prenom+nom) SandraDérozier ``` --- # Écriture formatée Depuis la version 3.6, Python a introduit les
f-strings
.
f-string
est le diminutif de
formatted string literals
. **Exemple** ```python f"Ceci est une formatted string literals" ``` Les
f-string
permettent un affichage mieux organisé. ```python >>> nom = 'Sandra' >>> lieu = 'Jouy-en-Josas' >>> print(f"{nom} travaille à {lieu}.") Sandra travaille à Jouy-en-Josas. ``` **Remarque :** il est possible de mettre également des valeurs numériques entre les `{}`. ```python >>> num_bat = 233 >>> print(f"{nom} travaille à {lieu}, au bâtiment {num_bat}.") Sandra travaille à Jouy-en-Josas, au bâtiment 233.. ``` --- # Aller plus loin - Écriture formatée ```python >>> i = 34.7879783705980890 >>> print(f"{i}") 34.7879783705980890 >>> >>> print(f"{i:.2f}") 34.79 ``` En détails : * les
:
indiquent que l'on souhaite préciser un format. * le
f
précise que l'on souhaite afficher la variable sous la forme d'un réel (*float*). * le
.2
indique la précision souhaitée, soit deux chiffres après la virgule. Que modifier si on souhaite plutôt trois chiffres après la virgule ? --- # Aller plus loin - Écriture formatée ```python >>> i = 34.7879783705980890 >>> print(f"{i}") 34.7879783705980890 >>> >>> print(f"{i:.2f}") 34.79 ``` En détails : * les
:
indiquent que l'on souhaite préciser un format. * le
f
précise que l'on souhaite afficher la variable sous la forme d'un réel (*float*). * le
.2
indique la précision souhaitée, soit deux chiffres après la virgule. Que modifier si on souhaite plutôt trois chiffres après la virgule ? ```python >>> i = 34.7879783705980890 >>> >>> print(f"{i:.3f}") 34.788 ``` **Remarque :** le formatage avec `.xf` (x étant un entier positif) renvoie un résultat arrondi. --- # Aller plus loin - Écriture formatée Il est également possible de formatter des entiers avec
d
. ```python >>> annee = 2022 >>> print(f"Nous sommes en {annee:d} !") Nous sommes en 2022 ! ``` Il est également possible de combiner plusieurs nombres dans une même chaîne de caractères. ```python >>> nbG = 3700 >>> nbC = 2450 >>> total = 13800 >>> GCp = (nbG + nbC) / total >>> print(f"Nombre de G : {nbG:d} / nombre de C : {nbC:d}. \ ... Pourcentage en GC de : {(GCp * 100):.2f}%.") Nombre de G : 3700 / nombre de C : 2450. Pourcentage en GC de : 44.57%. ``` **Remarques :** * le symbol
\
permet d'écrire une commande sur plusieurs lignes. * il est possible de mettre des expressions Python dans les `{}`. --- # Aller plus loin - Écriture formatée ```python >>> print(11) ; print(1111) 11 1111 ``` **Remarque :** le
;
permet de séparer les instructions d'une même ligne. ```python >>> print(f"{11:>10d}") ; print(f"{1111:>10d}") 11 1111 ``` Les
:
définissent qu'il va y avoir un formatage, avec un alignement à droite via
>
(< pour à gauche) sur
10
caractères. ```python >>> print(f"{11:0^10d}") ; print(f"{1111:0^10d}") 0000110000 0001111000 ``` Les
:
définisent qu'il va y avoir un formatage, avec un alignement centré via
^
sur
10
caractères avec un remplissage de
0
(par défaut : espace). --- # Aller plus loin - Écriture formatée Ce type de formatage est également possible sur les chaînes de caractères (
s
). ```python >>> print("gene dnaA") ; print("gene S2") gene dnaA gene S2 >>> print(f"gene {dnaA:>4s}") ; print(f"gene {S2:>4s}") gene dnaA gene S2 ```
Pour les réels (
float
), on peut utiliser la notation "10.2f" pour 2 chiffres après la virgule formaté sur 10 caractères.
```python >>> propGC = 49.7870787070707 >>> print(f"{propGC:>10.2f}%") 49.79% ```
Remarque :
pour écrire des accolades litérales et utiliser les
f-strings
, il faut doubler les accolades pour échapper au formatage.
--- # Travaux Pratiques
Créer un programme Python nommé
affichage.py
ou un
notebook
Jupyter nommé
affichage.ipynb
permettant d'afficher un triangle composé d'étoiles ayant une base de 9 étoiles via l'écriture formatée en
15 minutes d'autonomie
.
Résultat attendu : ```python * *** ***** ******* ********* ```
Remarque : comme nous n'avons pas encore vu les boucles, vous devez écrire toutes les lignes. Vous devez donc avoir 5 lignes de
print(f"")
dans votre code.