[英]Python Crash Course: Including if statement inside a for loop in dictionary
我是 Python 的新手,1 月底剛開始學習 Python。 我目前在 Python 速成課程(第 6 章:字典)的第 110 頁。 在最喜歡的語言程序中,我嘗試在字典的 for 循環中包含一個 if 語句,以使用 len(languages) 方法查看每個用戶有多個最喜歡的語言,然后根據用戶的語言數量產生不同的結果。 這是我的代碼和結果:
**favorite_languages = {
'jen': ['python','c'],
'lucas': ['python'],
'veronica': ['c','ruby'],
'jack': ['haskel','go'],
}
for name, languages in favorite_languages.items():
if len(languages) == 1:
print(f"\n{name.title()}'s favorite language is : {language.title()}")
else:
print(f"\n{name.title()}'s favorite languages are: ")
for language in languages:
print(f"\t{language.title()}")**
我期望的結果是,如果用戶有一個喜歡的語言,代碼將打印出來:
"{user}'s favorite language is : {language.title()},
要不然:
"{user}'s favorite languages are: {language.title()}"
結果如下:
Jen's favorite languages are:
Python
C
Lucas's favorite language is : C
Veronica's favorite languages are:
C
Ruby
Jack's favorite languages are:
Haskel
Go
就我而言,代碼運行良好,只是在 Lucas 最喜歡的語言中結果不同。 結果顯示 Lucas 最喜歡的語言是 C 而不是我在程序中寫的 Python。
如果有人幫助我解決這個問題,我將不勝感激。
您定義language
的唯一地方 - 單數 - 是當您遍歷喜歡多種語言的人的每種語言時。 如果 Lucas 是列表中的第一個,就會產生錯誤。 事實上,當時的language
仍然是 Jen 最新最喜歡的 C。 要解決此問題,請在檢查一種喜歡的語言時使用languages[0]
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.