繁体   English   中英

如何获取此代码以打印我想要的内容?

[英]How do I get this code to print what I want?

我需要打印

“主题 {topic} 由 {creator} 在 {date_added} 创建。” 使用 FOR 循环。 我已根据作业将所有必需的信息输入字典。

我不知道还能尝试什么我是新手。 寻求有关字典和 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} 未定义。 我已经尝试过 sorted(topics.items())的主题和 sorted(topics.keys()) 中的主题,但没有运气。 不确定如何在循环的每次迭代中定义 date_added 和 creator。

您的代码的第一个问题是您在“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[key_name] 访问 dict 的值

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

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

someDict = {
    "abc" : "123"
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM