Python用户输入打破While循环

时间:2017-03-17 17:19:17

标签: python-2.7 while-loop user-input

Python新手。在一个while循环中,我要求用户输入一个dict的键。然后打印该键的值。此过程应该继续,直到输入与dict中的任何键都不匹配。我使用if语句来查看密钥是否在dict中。如果不是我喜欢while循环中断。到目前为止,我无法让它破裂。

谢谢大家

Animal_list = {
    'lion': 'carnivora', 'bat': 'mammal', 'anaconda': 'reptile',
    'salmon': 'fish', 'whale': 'cetaceans', 'spider': 'arachnida',
    'grasshopper': 'insect', 'aligator': 'reptile', 'rat': 'rodents',
    'bear': 'mammal', 'frog': 'amphibian', 'turtles': 'testudines'
}
while True:
    choice = raw_input("> ")
    if choice == choice:
        print "%s is a %s" % (choice, Animal_list[choice])
    elif choice != choice:
        break

1 个答案:

答案 0 :(得分:0)

choice == choice永远都是真的。您真正想要做的是检查choice中是否有Animal_list。尝试改为:

Animal_list = {
    'lion': 'carnivora', 'bat': 'mammal', 'anaconda': 'reptile',
    'salmon': 'fish', 'whale': 'cetaceans', 'spider': 'arachnida',
    'grasshopper': 'insect', 'aligator': 'reptile', 'rat': 'rodents',
    'bear': 'mammal', 'frog': 'amphibian', 'turtles': 'testudines'
}
while True:
    choice = raw_input("> ")
    if choice in Animal_list:
        print "%s is a %s" % (choice, Animal_list[choice])
    else:
        break