首页 > 解决方案 > Python - 通过键显示值的字典

问题描述

对于以下程序:

spanishdays = { 'Sunday':'Domingo', 'Monday':'Lunes', \
                'Tuesday':'Martes', 'Wednesday':'Miercoles', \
                'Thursday':'Jueves', 'Friday':'Viernes', \
                'Saturday':'Sabado' }

ui = input("Enter 'Sunday', 'Monday', 'Tuesday', 'Wednesday'," \
            "'Thursday', 'Friday', 'Saturday': ")

for ui in spanishdays:
    print('The word for ' + ui + ' in Spanish is ' + spanishdays[ui])

我以为输出会是:如果用户输入星期一,那么“ The word for Monday in Spanish is Lunes

但是,当我运行程序时,我得到以下输出:

Enter 'Sunday', 'Monday', 'Tuesday', 'Wednesday','Thursday', 'Friday',
'Saturday': Monday
The word for Sunday in Spanish is Domingo
The word for Monday in Spanish is Lunes
The word for Tuesday in Spanish is Martes
The word for Wednesday in Spanish is Miercoles
The word for Thursday in Spanish is Jueves
The word for Friday in Spanish is Viernes
The word for Saturday in Spanish is Sabado

我怎样才能得到:

The word for Monday in Spanish is Lunes

标签: pythondictionaryoutputdisplay

解决方案


您不需要循环来打印出与字典中的键对应的值。

只需使用将返回与字典spanishdays[ui]中的键对应的值。或者,您可以使用which 用于相同目的但从不引发.uispanishdaysspanishdays.get(ui)KeyError

spanishdays = { 'Sunday':'Domingo', 'Monday':'Lunes', \
                'Tuesday':'Martes', 'Wednesday':'Miercoles', \
                'Thursday':'Jueves', 'Friday':'Viernes', \
                'Saturday':'Sabado' }

ui = input("Enter 'Sunday', 'Monday', 'Tuesday', 'Wednesday'," \
            "'Thursday', 'Friday', 'Saturday': ")

print('The word for ' + ui + ' in Spanish is ' + spanishdays[ui])

# Enter 'Sunday', 'Monday', 'Tuesday', 'Wednesday','Thursday', 'Friday', 'Saturday': Monday                               
# The word for Monday in Spanish is Lunes                    

推荐阅读