Это две части.
Во-первых, вам нужно получить ширину консоли. Вы делаете это с shutil.get_terminal_size
.
Поскольку не всегда возможно получить ширину консоли - в этом отношении, может даже не быть быть единица (например, если стандартный вывод вашей программы перенаправлен в файл и даже не есть терминал), он вернется к 80 столбцам (хотя вы можете переопределить это, если хотите):
cols, rows = shutil.get_terminal_size()
Теперь вы просто center
строка в этой ширине. Тот факт, что строка включает в себя пользовательский ввод, не имеет значения. После объединения "Hello "
и username
вы получите str
, который работает так же, как и любой другой строковый объект. Итак:
print(("Hello " + username).center(cols))
Если возможно, что ввод пользователя будет слишком длинным, чтобы поместиться в одну строку, сначала нужно обернуть его, а затем отцентрировать строки. Для этого вы можете использовать модуль textwrap
:
for line in textwrap.wrap("Hello " + username, cols):
print(line.center(cols))