检查输入是python中的单个字母

时间:2013-02-07 14:41:57

标签: python string loops

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

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")

2 个答案:

答案 0 :(得分:1)

从输入中创建一个字符串将无法实现,因为您使用键盘输入的任何内容都可以完美地作为字符串使用。

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

答案 1 :(得分: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? "))

其余部分应该有效。