3

我有一个代码,输出应该是这样的:

    hello   3454
    nice     222
    bye    45433
    well    3424

对齐和正确的理由给我带来了问题。我在我的字符串 {0:>7} 中尝试了这个,但是只有具有特定位数的数字才可以。其他数字或多或少会变得混乱。很明显理解他们为什么会搞砸,但我很难找到解决方案。我讨厌在所有地方都使用常量和 if 语句来解决这样一个小问题。有任何想法吗?

4

1 回答 1

9

你可以试试:

"{:>10d}".format(n)其中 n 是填充左数的 int 和

"{:>10s}".format(s), 其中 s 是填充左字符串的字符串

编辑:选择 10 是任意的。我建议首先确定最大长度。

但我不确定这是你想要的。无论如何,这个链接包含一些关于字符串格式的信息:

字符串格式

你可以试试这个:

def align(word, number):
    return "{:<10s}{:>10d}".format(word, number)

这将用 10 个空格填充您的字符串,用 10 个空格填充您的数字,给出所需的结果示例:

align('Hello', 3454)
align('nice', 222)
align('bye', 45433)
align('well', 3424)
于 2013-10-03T15:21:43.163 回答