Ответ 1
Это супер просто с format
:
>>> a = "John"
>>> "{:<15}".format(a)
'John '
Я уверен, что это покрыто множеством мест, но я не знаю точного названия действия, которое я пытаюсь сделать, поэтому я не могу найти его. Я читал официальную книгу Питона в течение 30 минут, пытаясь выяснить, как это сделать.
Проблема: мне нужно поместить строку в поле определенной длины.
Например, если в поле имени было 15 символов, и меня зовут Джон, я бы получил "Джон", а затем 11 пробелов, чтобы создать поле с 15 символами.
Мне нужно, чтобы это работало для любой строки, введенной для переменной "name".
Я знаю, что это, скорее всего, будет какая-то форма форматирования, но я не могу найти точный способ сделать это. Помощь была бы оценена.
Это супер просто с format
:
>>> a = "John"
>>> "{:<15}".format(a)
'John '
Вы можете использовать метод ljust
для строк.
>>> name = 'John'
>>> name.ljust(15)
'John '
Обратите внимание, что если имя длиннее 15 символов, ljust
не усекает его. Если вы хотите получить ровно 15 символов, вы можете нарезать результирующую строку:
>>> name.ljust(15)[:15]
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
Это добавит количество необходимых пробелов, если поле имеет длину >= длину предоставленного имени
Сначала проверьте, нужно ли сократить длину строки, а затем добавьте пробелы до тех пор, пока длина поля не будет.
fieldLength = 15
string1 = string1[0:15] # If it needs to be shortened, shorten it
while len(string1) < fieldLength:
rand += " "
name = "John" // your variable
result = (name+" ")[:15] # this adds 15 spaces to the "name"
# but cuts it at 15 characters