如何使用字典创建不同对象的目录

时间:2018-04-19 20:23:07

标签: python dictionary

我正在学习使用词典,并试图用它们来做这件事:

我希望用户提示要求用户选择四个项目中的哪一个是水果,然后他们会看到“鸟,椅子,苹果,草”之类的列表,并输入苹果的数字。我想把苹果放在一本包含许多其他水果的字典里,其中的关键是“水果”。我还想要其他类型的家具的其他词典,其中椅子将成为鸟类的一部分。这是我可以使用词典的东西还是我走向了错误的方向? 感谢

1 个答案:

答案 0 :(得分:2)

你确实可以使用词典,我为你做了一个快速文件,这样你就可以理解一切如何反应。请注意:我为了提高可读性而做了这个,你对python的了解越多,你编写代码的效率就越高!

这首先定义了函数,以便于重新调用。然后创建了dictionaires,没有必要把它们放在函数中,但是又一次;可读性。

打印一些选项\n会插入enter。这样你就没有4个打印语句了。 然后问一个问题int(input("text"))确保给出的答案是整数,而不是基数10.

然后有一个简单的if question == 1:告诉程序当question = int(input())为1时该怎么做。

希望您觉得这很有帮助,这就是您的意思。如果没有,请随时发表评论,我会尽力帮助您!

def quiz():
    Birds = {'Eagle', 'Parrot', 'Woodpecker', 'Sparrow', 'Pigeon'}
    Furniture = {'Chair', 'Bench', 'Sofa', 'Closet', 'Table'}
    Fruit = {'Apple', 'Cherry', 'Pear', 'Grape', 'Strawberry'}
    Plants = {'Sunflower', 'Cactus', 'Moss', 'Brambles', 'Wheat'}
    print("1. Bird \n2. Chair \n3. Apple \n4. Grass")
    question = int(input("which one is a fruit?: "))
    if question == 1:
        print("Thats wrong! But other kinds of birds are:", ','.join(Birds))
    if question == 2:
        print("Thats wrong! But other kinds of furniture are:", ','.join(Furniture))
    if question == 3:
        print("That's Correct! Other kinds of fruit are:", ','.join(Fruit))
    if question == 4:
        print("Thats wrong! But other kinds of plants are:", ','.join(Plants))

    input("Press Enter to start over")
    quiz()
quiz()

来自https://softwareengineering.stackexchange.com/questions/139052/dictionary-vs-list的词典:

  

如果索引具有特殊含义,则可以使用Dictionary   除了位置安置。

     

想到的直接例子是存储id列和   数据库中的int列。例如,如果您有[person-id]   列和[personal-pin]列,然后您可以将它们带入   字典。这样pinDict [person-id]会给你一个PIN,但是   索引是有意义的,而不仅仅是列表中的位置。

     

但实际上,只要你有两个相关的整数列表,这个   可能是一个合适的数据结构。