Ответ 1
Вам нужно центрировать каждую строку отдельно:
'\n'.join('{:^80}'.format(s) for s in Message.split('\n'))
У меня есть строка с именем Message.
Message = "Hello, welcome!\nThis is some text that should be centered!"
Да, это просто тестовое выражение...
И я пытаюсь центрировать его для окна терминала по умолчанию, то есть ширины 80, с этим утверждением:
print('{:^80}'.format(Message))
Какие принты:
Hello, welcome!
This is some text that should be centered!
Я ожидаю что-то вроде:
Hello, welcome!
This is some text that should be centered!
Любые предложения?
Вам нужно центрировать каждую строку отдельно:
'\n'.join('{:^80}'.format(s) for s in Message.split('\n'))
Вот альтернатива, которая автоматически центрирует ваш текст на основе самой длинной ширины.
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>