[英]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.