我在Python中搜索创建对齐的字符串并找到了一些相关的东西,但是对我来说不起作用。这是一个例子:
for line in [[1, 128, 1298039], [123388, 0, 2]]:
print('{:>8} {:>8} {:>8}'.format(*line))
输出:
1 128 1298039
123388 0 2
这是我在shell中看到的:
如您所见,对齐没有发生。使用\t
时会出现同样的问题。
如何以整齐的表格格式对齐字符串?
答案 0 :(得分:3)
您已将IDLE shell配置为使用比例字体,该字体对不同的字符使用不同的宽度。请注意()
对如何占用与其上方>
字符几乎相同的水平空间。
您的代码完全正确;使用固定宽度字体,数字将正确排列。
切换为使用固定宽度字体。 Courier是一个很好的默认选择,但Windows安装了各种其他字体,包括Consolas。
在选项中配置字体 - >配置IDLE 菜单。从“字体面”列表中选择一种不同的字体。下面面板中的示例字符应该排成一行(除了最后的第二行k
,它应该突出显示)。