Неправильное форматирование строки? - PullRequest
0 голосов
/ 27 июня 2018

Вот программа:

layout = "{0:>5}"
layout += "{1:>10}"
for i in range(2, 13):
    layout += "{"+str(i)+":9>}"


index = []
for i in range(13):
    index.append(i)
index = tuple(index)
print(layout.format(*index))

и распечатывается так:

    0         123456789101112

но я хочу, чтобы это выглядело примерно так (количество пробелов может быть неправильным):

    0    1   2   3  4  5  6  7  8  9  10  11  12

Что я сделал не так?

1 Ответ

0 голосов
/ 27 июня 2018
":9>}"

должно быть

":>9}"

Это дает:

    0         1        2        3        4        5        6        7        8        9       10       11       12

Чтобы выглядеть точно так, как вы просите:

На самом деле, вы просите что-то странное, но вот более лаконичный способ написать то, что вы написали:

layout = "{0:>5}{1:>5}" + ''.join("{" + str(i) + ":>4}" for i in range(2, 13))
print(layout.format(*range(13)))

Дает:

    0    1   2   3   4   5   6   7   8   9  10  11  12
...