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│ └────────┘