3 votes

Formatage d'une chaîne de caractères pour qu'elle ait une longueur constante en Python

Disons que j'ai quelques titres de chaîne :

title0 = 'USA'
title1 = 'Canada'

Et je veux ajouter une liste de caractères '#' au début et à la fin de ces titres pour leur donner une longueur constante afin qu'ils ressemblent à ceci :

######## USA ########
####### Canada ######

Avec 1 espace tampon pour le début et la fin du texte. Il est évident que je ne peux pas toujours obtenir un nombre symétrique de symboles autour du mot. Existe-t-il un moyen de faire cela avec le formatage des chaînes de caractères intégré à Python ?

7voto

FastTurtle Points 1345

Python str.format() a quelques options qui devraient vous permettre d'obtenir ce que vous voulez. Vous pouvez en savoir plus sur ces options aquí . Cela devrait vous donner ce que vous vouliez.

title0 = '{:#^{width}}'.format(' USA ', width=19)
title1 = '{:#^{width}}'.format(' Canada ', width=19)

Ou en utilisant une syntaxe similaire pour le nouveau f-strings/formatted string literals :

width = 19
country = 'USA'
title0 = f'{country:#^{width}}'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X