簡體   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