猿问

检查用户输入和具有多个值的字典键之间的匹配

如果我想检查checkPlayer函数中输入的参数是否与键匹配dict1 并返回整个对象或相应键的特定值,我将如何更改此代码?


dict1 = {'Messi' : ('Argentina','Barcelona'), 'Ronaldo' : ('Portugal','Juventus'), 'Robben': ('Netherlands','Bayern')}


def checkPlayer(plyr):

    for x in dict1:

        if plyr == x:

           print(x)


checkPlayer('Messi')

我主要对为什么打印x会打印玩家姓名而不是整个对象感到困惑。如果找到匹配项,我将如何打印整个对象,或者更具体地说,仅打印国籍或团队。不太确定如何使用 for 循环访问字典中的索引,它不像列表那样直观:/


呼如林
浏览 195回答 3
3回答

阿晨1998

你的对象是一个键:值键是“梅西”,值是“阿根廷”,“巴塞罗那”但是在你的打印语句中你只打印对象的名称将只返回键而没有值来访问你可以访问的值使用 get() 或字典中对象的索引得到你想要的结果使用这个:print plyr,':',dict1[plyr]

神不在的星期二

您可以使用以下代码:dict1 = {'Messi' : ('Argentina','Barcelona'), 'Ronaldo' : ('Portugal','Juventus'), 'Robben': ('Netherlands','Bayern')}checkPlayer = 'Messi'print (dict1.get(checkPlayer,'Player not found')) # 'Player not found' will be returned if checkPLayer is not in the dict1.keys()#result --> ('Argentina', 'Barcelona')
随时随地看视频慕课网APP

相关分类

Python
我要回答