在Python上,您如何允许用户在词典上输入项目?

时间:2017-10-12 17:29:37

标签: python python-3.x dictionary

我有一本字典,无法找到如何让用户输入单词/短语和定义。例如:

    dict = [
        { "polar": 'bear'
          "giraffe":'neck'
        }
    ]

所以我问:你怎么会这样做,所以要求用户添加一个新单词,例如“马匹”。并为其分配' hay'的定义并将其添加到字典中。因此它将打印如下:

    dict = [
        { "polar": 'bear'
          "giraffe":'neck'
          "horse":'hay'
        }
    ]

7 个答案:

答案 0 :(得分:1)

您可以在循环中使用from pprint import pprint animals = {} while True: key = input('Animal: ') value = input('Value: ') animals[key] = value pprint(animals)

power17 2 ~> help (help (help (help x))) * 2
          ~> help (help (help (2 * 2 * 2 * 2))) * 2 (* that's 2^5 *)
          ~> help (help (help (8))) * 2
          ~> help (help (8 * 8 * 8 * 8)) * 2        (* that's 2^13 *)
          ~> help (help (4096)) * 2
          ~> help (4096 * 4096 * 4096 * 4096) * 2   (* that's 2^49 *)
          ~> raise Overflow (* most SML compilers have 32-bit ints *)

答案 1 :(得分:0)

您可以尝试使用此代码,这仅适用于用户的一个输入。

dict = {}
key = input("Please enter a word: ")
item = input("Please enter a definition: ")
dict[key] = item

修改

对于多次迭代,请使用此answer

答案 2 :(得分:0)

您可以在这里添加最多5个键和值,例如。要增加用户输入的数量,您可以随时将范围更改为高于5,或者减少范围。

  北极熊,极地将是关键,熊将是价值

d = {}
for i in range(5):
    user = input('Enter animal followed by space and its type')
    data = user.split()
    d[data[0]] = data[1]
print(d)

答案 3 :(得分:0)

首先,您创建了dict变量作为列表。还有一种名为update()的词典方法。您可以使用它,例如dict[0].update({"foo", "bar"})

答案 4 :(得分:0)

添加了与上面类似的版本,但在输入等方面有一些循环...

if __name__ == '__main__':

    # This will store our definitions...
    words = {}

    # Will ask for new words / commands until exit...
    while True:
        word = input('What\'s your word (p: print, <enter>: exit)? >>> ')

        if word == 'p':
            print(f'Current words: {words}')
        elif word == '':
            break
        else:
            definition = input(f'Definition of {word}? >>> ')
            words[word] = definition

    print(words)

答案 5 :(得分:0)

您可以使用dictname[key] = value来引用词典条目 例如dict7['polar'] will return 'bear'

dict7 = {'polar': 'bear',
         'giraffe': 'neck'
         }

newkey = input("Please enter new dict key: ")  # get new key
newvalue = input("Please enter new dict value: ")  # get new value

dict7[newkey] = newvalue 

注意:我使用的是dict7而不是dict,因为使用listdict这样的词语并不是一个好主意用作关键字。

答案 6 :(得分:0)

你应该首先检查是否输入了密钥,如果没有,则不在dict中,然后只需添加它:

dict = [
        { "polar": 'bear',
          "giraffe":'neck'
        }
    ]


keyinput=input("Enter the key")
valueinput=input("Enter value")

if keyinput not in dict:
    dict[0][keyinput]=valueinput


print(dict)

输入:

Enter the key New polar
Enter value New Bear
[{'polar': 'bear', 'New polar': 'New Bear', 'giraffe': 'neck'}]

如果我输入相同的键,已经存在的值:

Enter the key polar
Enter value bear
[{'giraffe': 'neck', 'polar': 'bear'}]