Добавление пробелов к строке
Все здравствуйте. Есть код. Он выводит номер максимальной строки. Подскажите, пожалуйста, как сделать так, чтобы к строкам, длинна которых не максимальная добавить такое колличество пробелов в начало строк, чтобы все строки были одной длинны?
n = 5
a = []
for i in range(n):
print(i+1,end='-я: ')
a.append(input())
index = 0
for i in range(1, n):
if len(a[i]) > len(a[index]):
index = i
for i in range(n):
if len(a[i]) == len(a[index]):
print(i + 1)
Ответы (4 шт):
Автор решения: SmellyNS
→ Ссылка
Допустим, у вас есть количество символов в строке максимальной длины n и строка для обработки s:
s = ' '*(n - len(s)) + s
>>> def func(n, s):
return {'return':' '*(n-len(s))+s, 's_len':len(s), 'new len':len(' '*(n-len(s))+s), 'desired_len':n}
>>> func(15, 'fdsf')
{'return': ' fdsf', 's_len': 4, 'new len': 15, 'desired_len': 15}
Автор решения: DanBear
→ Ссылка
Ещё один вариант, самый лёгкий в исполнении. У str есть метод rjust и ljust, которые добавляют указанный символ слева или справа, пока длина строки не будет равна указанной:
>>> a = "Hello, World!"
>>> print(a.rjust(15, " "));
" Hello, World!"
Автор решения: S. Nick
→ Ссылка
Попробуйте так:
max_len = 10
value = 123
print(f'{value:>{max_len}}')