Python 字典、键和字符串

Python Dictionaries, Keys, and Strings

我正在尝试编写一个程序,它接受一个变量,包含一个字典,其中键是一个单词字符串,值是字符串列表。每个字符串都是对 word/key.

的定义

我想做的是问用户一句话;如果它不在字典中。然后我显示一条错误消息,如果是,然后我打印出每个定义,从 1 开始编号。

我无法理解如何在不同的行上调用不同的定义并对它们进行编号。这是我目前所拥有的:

def Dict(webdict):
    word_user = raw_input('Word ==> ')
    i =0
    if word_user in webdict:
        while i <= len(webdict['word_user']):
            print str(i+1) + '.', webdict['word_user'][i]
            i+=1
    else:
        print '"' + word_user + '"', 'not found in webdict.'

Dict(webdict)

一些示例输出:

Word ==> python
1. a large heavy-bodied nonvenomous constrictor snake occurring throughout the Old World tropics
2. a high-level general-purpose programming language

Word ==> constrictor
Word “constrictor” not found in webster

谢谢!

  1. 索引webdict时,键应该是word_user,而不是'word_user'。后者是一个字符串文字,而不是用户键入的任何内容。

  2. 您的 while 循环超出了列表末尾。将 <= 更改为 <,或者仅使用 enumeratefor 循环。

def Dict(webdict):
    word_user = raw_input('Word ==> ')
    i =0
    if word_user in webdict:
        while i < len(webdict[word_user]):
            print str(i+1) + '.', webdict[word_user][i]
            i+=1
    else:
        print '"' + word_user + '"', 'not found in webdict.'

webdict = {"Python": ["A cool snake", "A cool language"]}
Dict(webdict)

def Dict(webdict):
    word_user = raw_input('Word ==> ')
    if word_user in webdict:
        for i, definition in enumerate(webdict[word_user], 1):
            print str(i+1) + '.', definition
    else:
        print '"' + word_user + '"', 'not found in webdict.'

webdict = {"Python": ["A cool snake", "A cool language"]}
Dict(webdict)

结果:

Word ==> Python
1. A cool snake
2. A cool language