Encadrement
Écrire une fonction
encadrer permettant d’encadrer un texte de plusieurs lignes, avec différents types de bordures, un écartement et une justification réglable.
La signature et la documentation de la fonction sont données ci-dessous :
def encadrer(lst_lignes, bord = 0, type = 0, justif = 0):
""" Encadre une liste de lignes de texte
avec des caractères de boite :
Box-drawing characters : https://en.wikipedia.org/wiki/Box-drawing_character
type 0 : '─', '│', '┐', '┌', '└', '┘'
type 1 : '━', '┃', '┓', '┏', '┗', '┛'
type 2 : '═', '║', '╗', '╔', '╚', '╝'
justif : 0=gauche, 1=centre, 3=droite
bord : nombre d'espaces entre le texte et le cadre
Renvoie une liste de lignes :
['texte', ==> ['┌────────┐',
' à', '│texte │',
'encadrer'] '│ à │',
'│encadrer│',
'└────────┘']
"""
Par exemple :
lst_lignes = ['texte',
' à',
'encadrer']
print('\n'.join(encadrer(lst_lignes, bord = 0, type = 0, justif = 0)))
print('\n'.join(encadrer(lst_lignes, bord = 1, type = 0, justif = 0)))
print('\n'.join(encadrer(lst_lignes, bord = 0, type = 1, justif = 0)))
print('\n'.join(encadrer(lst_lignes, bord = 0, type = 2, justif = 0)))
print('\n'.join(encadrer(lst_lignes, bord = 0, type = 0, justif = 1)))
print('\n'.join(encadrer(lst_lignes, bord = 0, type = 0, justif = 2)))
doit afficher ceci :
┌────────┐ │texte │ │ à │ │encadrer│ └────────┘ ┌──────────┐ │ │ │ texte │ │ à │ │ encadrer │ │ │ └──────────┘ ┏━━━━━━━━┓ ┃texte ┃ ┃ à ┃ ┃encadrer┃ ┗━━━━━━━━┛ ╔════════╗ ║texte ║ ║ à ║ ║encadrer║ ╚════════╝ ┌────────┐ │ texte │ │ à │ │encadrer│ └────────┘ ┌────────┐ │ texte│ │ à│ │encadrer│ └────────┘
