如何正确使用格式功能

时间:2015-05-04 15:07:17

标签: python

我刚刚为我正在处理的游戏输入了一些代码,但是我需要使用“format”函数来使输出正确对齐,我尝试在这段代码上使用它,例如:

 print("    ",humanscore,"    -     ",compscore)

为了确保变量的值不会改变它们的位置,但它会出现一个错误,说“TypeError:format()最多需要2个参数(给定5个)”,所以基本上我是只是想知道如何使用格式函数来对齐这样的代码行。 (中间的空格是一种没有格式功能的便宜的对齐方式。)

2 个答案:

答案 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