python - 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
解决方案
您不需要循环来打印出与字典中的键对应的值。
只需使用将返回与字典spanishdays[ui]
中的键对应的值。或者,您可以使用which 用于相同目的但从不引发.ui
spanishdays
spanishdays.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
推荐阅读
- git - 如何删除要求凭据的 github 登录弹出窗口?
- asp.net - 在 ASP.NET Web 窗体中使用 OpenId Connect 时的身份验证 Cookie 超时
- python - 如果其中一个值为空,Python 会继续打印。csv字典
- java - 访问同一包的另一个类中的嵌套类
- arrays - GNU Octave/Matlab:如何获取数组中三个最大值的索引?
- java - JScrollPane 不显示
- mysql - 批处理模式下的mysql
- javascript - React Native 错误:路由“Home”的组件必须是 React 组件
- pandas - Python 3.9.1 - Numpy 1.19.4
- node.js - 如何将nodejs连接到SQL Server