2013-12-01 3 views
0

Я посмотрел на это и не могу понять, почему это происходит.Непонятное поведение Seeminlgy в заявлении на печать для нескольких вкладок

print "Percentage of A\tB\tC\tD" 
#prints: Percentage of A B  C  D 

Однако

print "Percentage of A\tB\tC\tD" 
#prints: Percentage of A  B  C  D 

Два вопроса:

  1. Почему пространство между of и A делают разницу?
  2. Почему промежутки между буквами не эквивалентны ни одному из отпечатков?

ответ

2

Как управлять вкладками зависит от терминала или консоли. Часто они отступают к определенным записям табуляции; предопределенные столбцы независимо от того, где была напечатана вкладка.

E.g. если в каждом 8 пробелах есть вкладки, печать вкладки в столбце 12 означает, что курсор переходит к столбцу 16 и делает не пропустить 8 пробелов в колонку 20.

С добавлением пространства, которое вы сделали, заполнить вкладку из к следующей табулятора в положении 24:

>>> len('Percentage of A') 
15 
>>> len('Percentage of A') 
16 
+0

Хорошо, это имеет смысл. Так что я должен использовать определенное количество пробелов, если я хочу иметь точное количество интервалов? –

+1

Действительно, места дают вам точные ... расстояния. –

4

в качестве альтернативы, вы можете использовать строку форматирования и указать ширину каждого поля (например, {0: 8} {1: 8} и т.д.)

+0

Да, это то, что я собираюсь сделать, спасибо. –

Смежные вопросы