如何从字典中以格式打印信息?错误消息:“ dict”对象没有属性“ format”

时间:2019-02-09 08:18:19

标签: python python-3.x

尝试获取输出:

Kayleigh:
True 100
True 80
True 67
True 100
True 89

根据我制作的字典:

kayleigh = {'name':'Kayleigh',
            'grades':[100,80,67,100,89],
            'attendance':['True','True','True','True','True']}

因为成绩和出勤率都有5个项目,所以我尝试匹配它们,但是有一条错误消息指出格式不是内置在字典中的。


AttributeError跟踪(最近一次通话)  在 ---->打印1张(“ Kayleigh:”,{},{}。format(kayleigh.get('attendance'),kayleigh.get('grades'))

AttributeError:“ dict”对象没有属性“ format”

2 个答案:

答案 0 :(得分:0)

您可以使用以下代码完成工作:

    kayleigh = {'name':'Kayleigh',
            'grades':[100,80,67,100,89],
            'attendance':['True','True','True','True','True']}

print(kayleigh['name'],':')
for i in range (len (kayleigh['attendance'])):
    print(kayleigh['attendance'][i],kayleigh['grades'][i])

答案 1 :(得分:0)

您可以尝试这样操作(或者为了查看更好,可以选中this notebook on Github

# Defining a function which will do the task
def print_message(d):
    print(d["name"] + ':')

    for attendance, grade in zip(d["attendance"], d["grades"]):
        print(attendance, grade)

# Initialization
kayleigh = {'name':'Kayleigh',
            'grades':[100,80,67,100,89],
            'attendance':['True','True','True','True','True']}

# Making a call to te function by passing an appropriate dictionary 
print_message(kayleigh)
  

输出

Kayleigh:
True 100
True 80
True 67
True 100
True 89

如果您想在终端上尝试一下,请按以下步骤操作。

>>> def print_message(d):
...     print(d["name"] + ':')
...     for attendance, grade in zip(d["attendance"], d["grades"]):
...         print(attendance, grade)
... 
>>> kayleigh = {'name':'Kayleigh',
...             'grades':[100,80,67,100,89],
...             'attendance':['True','True','True','True','True']}
>>> print_message(kayleigh)
Kayleigh:
True 100
True 80
True 67
True 100
True 89
>>>