如何让此代码打印我想要的内容?

2024-04-25 16:31:56 发布

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

我需要打印

“主题{Topic}是由{creator}在{date_added}上创建的。”使用FOR循环。我已按照作业要求将所有必要信息输入词典

我不知道还有什么可以尝试我是新来的。正在寻找有关词典和循环的帮助

    #1.1
    topic1 = {
        "date_added": (2019,9.1),
        "creator": "Mark Scorgie"
    }

    topic2 = {
        "date_added": (2019,9.1),
        "creator": "Mark Scorgie"
    }

    topic3 = {
        "date_added": (2019,9.1),
        "creator": "Mark Scorgie"
    }

    #1.2
    topics = {
        "climbing": topic1,
        "travelling": topic2,
        "swimming": topic3
    }

    #2
    for topic, date_added, creator in sorted(topics.keys()): 
        print(f"Topic {topic} was created on {date_added} by {creator}")

我收到一条错误消息,{date_added}未定义。我已经尝试了排序中的主题(topics.items())和排序中的主题(topics.keys())的,但没有成功。不确定如何定义循环每次迭代中添加的日期和创建者


Tags: 主题addeddatetopic排序keys词典mark
2条回答

代码的第一个问题是在“date_added”键中使用元组

topic1 = {
    "date_added": "2019,9.1",
    "creator": "Mark Scorgie"
}
for key, value in topics.items():
    print(f"Topic {key} was created on {value['date_added']} by {value['creator']}")

键将是主题的名称,值将是包含该主题信息的字典。您可以使用dict[键名称]访问dict的值

对于dict对象,可以执行someDict.items()来分隔键值和元素值

因此,您可以使用for循环通过以下方式访问键和值:

someDict = {
    "abc" : "123"
}

for key, value in someDict.items():
    print(key)                #output: abc
    print(value)              #output: 123

相关问题 更多 >