1

我试图检查用户输入的输入是单个字母或单词,而不是整数或什么都没有,如果他们输入的内容无效,那么他们应该保持在循环中,直到他们输入一个字母。到目前为止,这是我的代码,但它似乎没有以预期的方式工作:

animalcount = 0
animal = 0
data = False
while data == False:
    try:
        letter = str(input("what letter would you like to search for? "))
        data = True
    except:
        print ("please enter a letter, try again.")
    if letter == "":
        print ("please enter an item,try again!")
        data = False
for animal in animallist:
    if letter in animal:
        print(animal)
        animalcount = animalcount + 1
if animalcount == 0:
    print ("That letter cannot be found")
4

2 回答 2

1

从输入中创建一个字符串不会有太大的作用,因为您使用键盘输入的任何内容都可以作为字符串完美地工作。

您可以使用正则表达式来区分字母和数字。

于 2013-02-07T14:53:14.543 回答
0

你可以在顶部使用一个简单的循环。

import string
letter = None
while not letter or letter not in string.letters:
    letter = str(raw_input("What letter would you like to search for? "))

然后其余的应该工作。

于 2013-02-07T14:58:12.867 回答