字符串格式错误?
Wrong string formatting?
程序如下:
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
我做错了什么?
":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
程序如下:
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
我做错了什么?
":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