Центрирование строки с форматом и переменной - PullRequest
0 голосов
/ 26 октября 2018

Я хочу знать, как написать строку, центрирующуюся примерно так:

print("{0:^30s}".format("hello"))

, но вместо этого я хочу, чтобы значение 30 было переменной, поэтому если я отправлю "num = 5"функция это будет {0: ^ 5s}, кто-нибудь знает правильный синтаксис?

Ответы [ 3 ]

0 голосов
/ 26 октября 2018

Другим подходом может быть использование метода .center():

string = "hello"
# num = 5 or below
num = function(num)
print(a.center(len(a) + num, ' '))
0 голосов
/ 26 октября 2018

Get termisize package

Termisize - кроссплатформенный модуль Python для получения размера терминала

Установка Termisize - pip install termisize

код

import termisize as t
name = "Terabyte"
known_as = "tbhaxor"

cols = t.get_cols()  # gets columns number i.e width of terminal
msg = "My Name is {0} and i am also known as {1}".format(name, known_as)
print( msg.center(cols) )
0 голосов
/ 26 октября 2018

Спецификатор формата может сам содержать замещающие поля. Вы можете использовать:

print("{0:^{num}s}".format("hello", num=30))
#                hello 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...