在python中,检查输入是一个字母

2024-05-15 16:28:51 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

Tags: infalsefordataif检查用户字母print
2条回答

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

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

那剩下的就行了。

从输入中生成字符串不会有多大效果,因为使用键盘输入的任何内容都可以作为字符串完美地工作。

您可以使用regexp来区分字母和数字。

相关问题 更多 >