python 3 字符串格式化(对齐)

2024-02-24

我有一个代码,其输出应如下所示:

    hello   3454
    nice     222
    bye    45433
    well    3424

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


你可以尝试:

"{:>10d}".format(n)其中 n 是要向左填充数字的 int,并且

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

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

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

字符串格式化 http://mkaz.com/solog/python/python-string-format.html

你可以试试这个:

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

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

align('Hello', 3454)
align('nice', 222)
align('bye', 45433)
align('well', 3424)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 3 字符串格式化(对齐) 的相关文章

随机推荐