Python:想要在列中均匀显示内容

标签 python string string-formatting

我想制作一个程序,在极其基本的水平上进行复制,并整齐地显示所有股票价格及其拥有的数量,使各列保持在同一行,使其看起来整洁。我尝试过执行以下代码:

print '{:1s} {:1s} {:1s} {:4.2f} {:1s} {:10d} {:1s}'.format('|','NAME','|',53.63,'|', 10000000, '|')
print '{:1s} {:1s} {:1s} {:4.2f} {:1s} {:10d} {:1s}'.format('|','NAME','|',4837.34,'|', 1000000000, '|')

但是这样显示它们:

| NAME | 53.63 |   10000000 |
| NAME | 4837.34 | 1000000000 |

我希望它像这样显示

| NAME |  53.63  | 10000000   |
| NAME | 4837.34 | 1000000000 |

或以类似的方式。我希望它们两侧的线条对齐,这样看起来更整齐

我有办法实现这一目标吗?

提前致谢

最佳答案

类似这样的事情:

print '| {:^4} | {:^7.2f} | {:<10} |'.format('NAME', 53.63, 10000000)
print '| {:^4} | {:^7.2f} | {:<10} |'.format('NAME',4837.34,1000000000)

输出:

| NAME |  53.63  | 10000000   |
| NAME | 4837.34 | 1000000000 |

您还可以从格式传递字段宽度:

print '| {:^{}} | {:^{}.2f} | {:<{}} |'.format('NAME', 4, 53.63, 7, 10000000, 10)
print '| {:^{}} | {:^{}.2f} | {:<{}} |'.format('NAME', 4, 4837.34, 7, 1000000000, 10)

输出:

| NAME |  53.63  | 10000000   |
| NAME | 4837.34 | 1000000000 |

关于Python:想要在列中均匀显示内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19783687/

相关文章:

python - 使用 !s 与 :s to format a string in Python

python - 连接到 pypi.python.org 超时

python - 为什么当我尝试在 1 个函数中执行 2 个条件时,它只给出黑色光栅?

java - 如何删除字符串中多余的换行符

string - Direct Oracle Access 截断 unicode(宽)字符串的末尾

php - MySQL 使用 PHP sprintf 插入到 NULL INT 列

Python AWS SQS 与 MOTO 模拟

Python 解析器/编译器与解释器,以及字符串连接编译时与运行时?

javascript - Json 字符串结果用 JavaScript 计数

file - Matlab:如何从文件中读取二进制数?