我正在嘗試解決一個簡單的用例,我需要在終端中以表格樣式顯示資料,不需要花哨的表格,但以某種方式發出類似表格。
這是我的代碼。
score = {'rounds_0': {'jack': 9, 'joe': 8}, 'rounds_1': {'jack': 11, 'joe': 13}}
players_name = ["jack","joe"]
for each_rounds in range(0,2):
print(f""" ********Round {each_rounds 1}****""", end='')
print()
for player, each_rounds in zip(players_name, range(0,2) ):
print(player,score.get(f'rounds_{each_rounds}').get(player))
目前我的輸出如下
********Round 1**** ********Round 2****
jack 9
joe 13
我正在嘗試在列下包含round_0
dict 值,并且
類似這樣,如果可能的話,每行的總和Round 1
Round 2
round_1
********Round 1**** ********Round 2**** *****Total*****
jack 9 11 20
joe 8 13 21
我真的嘗試了一些 for 回圈概念,但無法弄清楚我是如何做到的,因為我真的是 python 的初學者,任何幫助都會非常棒。
uj5u.com熱心網友回復:
您正在一起迭代玩家和回合,但您需要做的是迭代玩家,然后為每個玩家回合。為每個玩家生成一個分數串列然后列印出來可能更容易:
score = {'rounds_0': {'jack': 9, 'joe': 8}, 'rounds_1': {'jack': 11, 'joe': 13}}
players = list(score['rounds_0'].keys())
rounds = range(len(score.keys()))
print(f" {''.join(f' **** Round {rd} **** ' for rd in rounds)} **** Total ****")
for player in players:
scores = [score[f'rounds_{rd}'].get(player, 0) for rd in rounds]
print(f"{player:10s}{''.join(f'{s:^20d}' for s in scores)}{sum(scores):^15d}")
輸出:
**** Round 0 **** **** Round 1 **** **** Total ****
jack 9 11 20
joe 8 13 21
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/526655.html