2014-10-28 1 views
1

Я пытаюсь вычислить функцию, которая делает противоположную полосу для моего класса Python.Python напротив полосы()

Точный вопрос:

Какую функцию можно использовать, чтобы окружить строку с пробелами для того, чтобы сделать его определенной длины?

Спасибо!

+3

' 'Hello, World!' Центр (. 30) '. – Bakuriu

+1

Тогда это не противоположность полосы. Может быть, вы должны переформулировать свой вопрос. –

+0

На этот вопрос был дан ответ. Спасибо. – BryanLavinParmenter

ответ

6

«противоположен» из strip является center метод:

>>> 'Hello, World!'.center(30) 
'  Hello, World!   ' 

Вы можете указать символ заполнения для использования в качестве второго аргумента. По умолчанию используется пробел.


Есть также ljust и rjust, которые слева оправдать и правом оправдать текст до определенной длины, и, таким образом можно было бы считать «противоположностями» из lstrip и rstrip.

0

Попробуйте s.center(N) где N - длина линии, которую вы хотите, s - ваша строка. Например:

>>> "xx".center(10) 
' xx ' 
2

строки формата

"%50s World"%("Hello") 
"%-50s World"%("Hello") 
"%^50s World"%("Hello") 

или новомодный

"{0:50s} World".format("Hello") 
"{0:>50s} World".format("Hello") 
"{0:^50s} World".format("Hello") 

они имеют изящные побочные эффекты

"%^*s World"%(50,"Hello") 
+1

Я верю, что с 'str.format' правильные символы для выравнивания влево/вправо являются' <'(такие же, как и ни один) и'> '. Использование '-' дает' ValueError: знак не разрешен в спецификации формата строки' – Bakuriu

+0

ahh спасибо моему плохому (я обычно использую%) –