我正在学习使用词典,并试图用它们来做这件事:
我希望用户提示要求用户选择四个项目中的哪一个是水果,然后他们会看到“鸟,椅子,苹果,草”之类的列表,并输入苹果的数字。我想把苹果放在一本包含许多其他水果的字典里,其中的关键是“水果”。我还想要其他类型的家具的其他词典,其中椅子将成为鸟类的一部分。这是我可以使用词典的东西还是我走向了错误的方向? 感谢
答案 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,但是 索引是有意义的,而不仅仅是列表中的位置。
但实际上,只要你有两个相关的整数列表,这个 可能是一个合适的数据结构。