在python字典中使用for循环打印个人消息给朋友,但它显示keyerror?

bwntbbo3  于 12个月前  发布在  Python
关注(0)|答案(1)|浏览(135)

我试图通过字典循环,其中包含“朋友的名字”和他们最喜欢的语言:

favourate_language = {
    'yousuf': 'python',
    'jazam': 'C',
    'abu talib': 'C++',
    'abu hurayrah': 'Go',
    'umer': 'R',
    'kasim': 'javascript'
    }

之后,我试图通过这个字典循环,这样当一个特定的名字出现时,就会为那个朋友打印一条个人信息:

for name in favourate_language.keys():
    print(name)

# Displays personal message.
friends = ['yousuf', 'umer']

for name in favourate_language.keys():
    print(name.title())
    
    if name in friends:
        print('Assalamalaikum, ' + 
        name.title() + 
        "I see your favourate language is " + 
        favourate_language[name.title()] + "!")

但它显示了一个关键错误的单词'yousuf':

Yousuf
Traceback (most recent call last):
  File "F:\Farhan anwar\python\users.py", line 40, in <module>
    favourate_language[name.title()] + "!")
    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
KeyError: 'Yousuf'

我试图检查是否名称拼写错误或大写错误与名称'yousuf',但它仍然显示相同的错误。
我对结果的预期是:

Yousuf
Muhammed
Assalamalaikum! Muhammed, I see your favourate language is C!
Abu Hurayrah
Ali
Assalamalaikum! Ali, I see your favourate language is Javascript!

但我没能得到想要的结果,如果你能解决这个小问题?

nzk0hqpo

nzk0hqpo1#

favourate_language = {
'abc': 'python',
'xyz': 'C',
'abc xyz': 'C++',
'pqr mnq': 'Go',
'edc': 'R',
}
# Displays personal message.
friends = ['abc', 'edc']
for name in favourate_language.keys():
    print(name.title())
    if name in friends:
        print('Good Morning, ' + 
        name.title() + 
        "I see your favourate language is " + 
        favourate_language[name] + "!")

名字是字典的关键。不要在key上使用title()方法,它返回title格式的字符串。

favourate_language[name]

相关问题