我有一个列表,称为协议,在Yatzy中填充了播放器对象。每个对象都是一个包含时刻(如满屋)和值(例如20)的字典。
我想打印协议,但现在不打算如何制定代码。
我希望它看起来像这样:
玩家姓名的一行 每个玩家在“一个”时刻获得积分的一条线
等等。
到目前为止我已经尝试了这个(protokoll = protocol,momentlist =一个包含所有片刻(一个,两个等等)的列表:
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功能看起来不错吗?
感谢您的帮助
答案 0 :(得分:0)
print (deltagare.protokoll[key], "\t",)
Spelare没有protokoll
属性。如果您尝试访问Spelare的OrderedDict对象,则应使用其名称moment
。
print (deltagare.moment[key], "\t",)