Python для печати строки по центру

Я бы напечатал по центру строку, которая больше 1 строки

a = "*\n*\n**"

Я пробовал с

print '{0:^20}'.format(a, 'centered')

но он ставит в центр только первый *, как я могу поместить всю строку в центр?

1 ответ

Это фактически центрирует всю строку:

>>> '{0:^20}'.format(a, 'centered')
'       *\n*\n**       '

Обратите внимание, что это ставит семь пробелов до и после a, Я думаю, вы ожидаете, что он будет центрировать содержимое каждой строки, вот как вы можете это сделать:

>>> print '\n'.join('{0:^20}'.format(x, 'centered') for x in a.split('\n'))
         *
         *
         **
Другие вопросы по тегам