我刚刚为我正在处理的游戏输入了一些代码,但是我需要使用“format”函数来使输出正确对齐,我尝试在这段代码上使用它,例如:
print(" ",humanscore," - ",compscore)
为了确保变量的值不会改变它们的位置,但它会出现一个错误,说“TypeError:format()最多需要2个参数(给定5个)”,所以基本上我是只是想知道如何使用格式函数来对齐这样的代码行。 (中间的空格是一种没有格式功能的便宜的对齐方式。)
答案 0 :(得分:2)
print(" {}, - {}".format(humanscore, compscore))
假设你的分数是可变的,你可以在for循环中使用它。
答案 1 :(得分:0)
在字符串上调用format
方法,并使用大括号({
,}
)将格式化的数量替换为您使用标记指示的位置的字符串。
对于Python的新(呃)字符串格式有一个whole mini-language,但为了您的目的,要使得分数对齐,您应该决定最高分数将占用多少个字符,并使用'{:<n>d}'
<n>
是最大的。例如,如果您的(整数)分数不高于999999
,
In [8]: humanscore1 = 12
In [9]: compscore1 = 933
In [10]: humanscore2 = 8872
In [11]: compscore2 = 12212
print('{:6d} - {:6d}'.format(humanscore1, compscore1))
print('{:6d} - {:6d}'.format(humanscore2, compscore2))
12 - 933
8872 - 12212
要使数字居中而不是将它们对齐到其字段的右侧,请使用^
说明符:
print('{:^6d} - {:^6d}'.format(humanscore2, compscore2))
print('{:^6d} - {:^6d}'.format(humanscore1, compscore1))
8872 - 12212
12 - 933