所以我有一些风暴数据,我已经整理成字典,密钥是风暴发生的年份。主词典的值实际上是另一个词典,风暴名称为内部词典的键。
在我创建了所有词典之后,我要求用户输入,并将该输入存储为变量year
,该变量将传递给我想用来显示数据的函数,我们称之为display_info(dictionary, year)
。
旁注:我有一个main()
函数,实际上是年份的输入,以及编辑和返回字典的其他函数,所以我在这里所做的并不完整,它只是这个功能我需要帮助。
year = input("Input a year: ")
def display_info(dictionary, year):
'''Displays the storm info for the year input'''
for k,v in dictionary.items():
if k == year:
print(k, v)
我尝试了一些不同的变体,但似乎都没有完成任务。
答案 0 :(得分:4)
我只是这样做:
if year in dictionary:
print(year, dictionary[year])
另外,如果您的词典键包含int
类型,则需要使用以下内容:
year = int(year)
在运行该逻辑之前。
我不会这样做:
int(input())
因为如果您输入非数字内容,则会引发ValueError
进一步利用.get(),它有一个可用于指定默认值的第二个参数,你可以这样做:
print(year, dictionary.get(year, 'No entry found for year: %s' % year)
如果字典中缺少密钥(年份),则会打印“找不到第x年的条目”。