打印协议(带dicts的列表)

2024-09-30 10:38:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表,叫做协议,里面装满了Yatzy中的player对象。每一个物体都是一本字典,包含了瞬间(比如满屋)和价值(例如20)。你知道吗

我想打印协议,但现在不知道如何制定代码。你知道吗

我希望它看起来像这样:

一行玩家姓名
在“一”时刻,一行代表每个球员的分数

等等。你知道吗

到目前为止,我已经尝试过了(protokoll=protocol,momentlist=a list with all moments(one,twos等):

def Utskrift(protokoll, momentlist):

    for key in momentlist:
        print ("%-20s" % key)
        for deltagare in protokoll:
            print (deltagare.protokoll[key], "\t",)

不起作用,错误消息说了一些关于类Spelare的东西,我用它来让每个玩家。你知道吗

错误消息:

Traceback (most recent call last):
  File "/Users/Mans/Desktop/P-Uppgift/Yatzy_huvudprogram.py", line 160, in <module>
    meny()
  File "/Users/Mans/Desktop/P-Uppgift/Yatzy_huvudprogram.py", line 139, in meny
    Utskrift(protokoll, momentlist)
  File "/Users/Mans/Desktop/P-Uppgift/Yatzy_huvudprogram.py", line 93, in Utskrift
    print (deltagare.protokoll[key], "\t",)
AttributeError: 'Spelare' object has no attribute 'protokoll'

问题是当我使用

对于protokoll中的玩家

打印(播放器) 它工作没有错误(虽然它没有打印我想要的)。你知道吗

Uskrift的功能看起来正确吗?你知道吗

谢谢你的帮助


Tags: keyin错误玩家usersfileprintdesktop
1条回答
网友
1楼 · 发布于 2024-09-30 10:38:37
        print (deltagare.protokoll[key], "\t",)

Spelare没有protokoll属性。如果您试图访问Spelare的orderedict对象,应该使用它的名称moment。你知道吗

        print (deltagare.moment[key], "\t",)

相关问题 更多 >

    热门问题