【问题标题】:Improper center() alignment of Python stringsPython字符串的中心()对齐不正确
【发布时间】:2020-12-25 05:17:41
【问题描述】:

我正在处理一个显示基本用户详细信息的项目。

这是我遇到问题的相应代码。

@wrap
def show(self, *ids):
    for id in ids:
        try:
            user = self.api.get_user(id)
            print(user.name.center(80, '~'))
            print('%d Followers    %d Following'.center(80, '~') %
                    (user.followers_count, user.friends_count))
        except Exception:
            print('Error')
        finally:
            print()

代码显示最大宽度为 80 个字符的两行。 此时,每行最多只能打印 80 个字符。 但我得到了这个输出:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Twitter~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~58312564 Followers    1 Following~~~~~~~~~~~~~~~~~~~~~~~~~~~

第一行看起来很完美,但第二行真的不是在看中心。

我阅读了文档,也尝试在 print 语句中使用 .format(),但遇到了同样的问题。

如何在中心打印两个行内容? (一个字差很大)

请帮忙。

【问题讨论】:

    标签: python python-3.x string format alignment


    【解决方案1】:

    这对你有用吗?

    followers_count= 5831256
    friends_count = 1
    var = f" {followers_count} Followers  {friends_count} Following "
    print(f"{' Twitter ':~^80}")
    print(f"{var:~^80}")
    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Twitter ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    ~~~~~~~~~~~~~~~~~~~~~~~~ 5831256 Followers  1 Following ~~~~~~~~~~~~~~~~~~~~~~~~
    

    使其适应您的方法定义。 注意: var 是不必要的

    【讨论】:

    • 成功了!我只是在 print() 中打印了 var 内容并添加了一个 .center(80)。干得好!
    猜你喜欢
    • 2021-04-25
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 2013-03-25
    • 2015-02-03
    • 1970-01-01
    相关资源
    最近更新 更多