J'ai une chaîne appelée Message.
Message = "Hello, welcome!\nThis is some text that should be centered!"
Oui, c'est juste une déclaration de test ...
Et j'essaie de le centrer pour une fenêtre de terminal par défaut, c'est-à-dire d'une largeur de 80, avec cette déclaration:
print('{:^80}'.format(Message))
Quelles impressions:
Hello, welcome!
This is some text that should be centered!
J'attends quelque chose comme:
Hello, welcome!
This is some text that should be centered!
Aucune suggestion?
Vous devez centrer chaque ligne séparément:
'\n'.join('{:^80}'.format(s) for s in Message.split('\n'))
Voici une alternative qui permet de centrer automatiquement votre texte en fonction de la plus grande largeur.
def centerify(text, width=-1):
lines = text.split('\n')
width = max(map(len, lines)) if width == -1 else width
return '\n'.join(line.center(width) for line in lines)
print(centerify("Hello, welcome!\nThis is some text that should be centered!"))
print(centerify("Hello, welcome!\nThis is some text that should be centered!", 80))
<script src="//repl.it/embed/IUUa/4.js"></script>