Подтвердить что ты не робот

Как наложить строку на фиксированную длину с пробелами в Python?

Я уверен, что это покрыто множеством мест, но я не знаю точного названия действия, которое я пытаюсь сделать, поэтому я не могу найти его. Я читал официальную книгу Питона в течение 30 минут, пытаясь выяснить, как это сделать.

Проблема: мне нужно поместить строку в поле определенной длины.

Например, если в поле имени было 15 символов, и меня зовут Джон, я бы получил "Джон", а затем 11 пробелов, чтобы создать поле с 15 символами.

Мне нужно, чтобы это работало для любой строки, введенной для переменной "name".

Я знаю, что это, скорее всего, будет какая-то форма форматирования, но я не могу найти точный способ сделать это. Помощь была бы оценена.

4b9b3361

Ответ 1

Это супер просто с format:

>>> a = "John"
>>> "{:<15}".format(a)
'John           '

Ответ 2

Вы можете использовать метод ljust для строк.

>>> name = 'John'
>>> name.ljust(15)
'John           '

Обратите внимание, что если имя длиннее 15 символов, ljust не усекает его. Если вы хотите получить ровно 15 символов, вы можете нарезать результирующую строку:

>>> name.ljust(15)[:15]

Ответ 3

string = ""
name = raw_input() #The value at the field
length = input() #the length of the field
string += name
string += " "*(length-len(name)) # Add extra spaces

Это добавит количество необходимых пробелов, если поле имеет длину >= длину предоставленного имени

Ответ 4

Сначала проверьте, нужно ли сократить длину строки, а затем добавьте пробелы до тех пор, пока длина поля не будет.

fieldLength = 15
string1 = string1[0:15] # If it needs to be shortened, shorten it
while len(string1) < fieldLength:
    rand += " "

Ответ 5

name = "John" // your variable
result = (name+"               ")[:15] # this adds 15 spaces to the "name"
                                       # but cuts it at 15 characters