【问题标题】:Output multiple class attributes in 3 columns in Python 3 for 2 or more instances在 Python 3 的 3 列中为 2 个或更多实例输出多个类属性
【发布时间】:2016-07-28 15:16:22
【问题描述】:

我一直在尝试制作一个包含许多 1v1 比赛的基于文本的赛马比赛。我希望用户能够看到比赛的“历史”,例如,谁赢得了每场比赛,谁输了,输了多少。我虽然会将此属性存储在一个 Race 类中,并且所有 race 实例都将存储在一个列表中。

我从“Python for Absolute Beginners”一书中找到了一段代码,它给了我这样的东西:

for race in race_record_list:
    races = ["{0!s:10}".format(race.winner, race.loser, race.margin)]
    output = """   Winner: {0}   Loser: {1}      Margin: {2}""".format(''.join(races), race.loser, race.margin)
    print(output)

老实说,我不知道这是如何处理空格的,但是前 2 列(赢家和输家)看起来完全对齐(如下所示),而第三列则不然。

Winner: Brooke       Loser: Audrey      Margin: 2
Winner: Samantha     Loser: Elizabeth      Margin: 10

如果有人能告诉我如何解决它,我将不胜感激。

干杯!

【问题讨论】:

    标签: python-3.x format output


    【解决方案1】:

    这应该可行:

    for race in race_record_list:
       races = ["{0!s:10}".format(race.winner, race.loser, race.margin)]
       output = """   Winner: {0}   Loser: {1:10}      Margin: {2}""".format(''.join(races), race.loser, race.margin)
       print(output)
    
    Winner: Brooke       Loser: Audrey          Margin: 2
    Winner: Samantha     Loser: Elizabeth       Margin: 10
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-10
      • 1970-01-01
      • 2018-08-31
      • 1970-01-01
      • 1970-01-01
      • 2018-08-25
      • 2020-11-03
      • 2016-02-07
      相关资源
      最近更新 更多