试图检测三种不同的输入

时间:2013-09-09 00:19:41

标签: python input detection

我需要创建一个程序来检测输入是否是除了字符之外的任何内容,以及它是否不会破坏程序。这就是我到目前为止所做的:

name = input("Please enter a name: ")

while True:
    try:
        if name == "Mitnick":
            print("Most Wanted")
            break
        else:
            print(name,"not on the Most Wanted List")
            break
    except ValueError:
        print("You didn't enter a name")
        break

即使我输入一个数字或一个非字母,它也不会转到ValueError,它总是转到else。我需要找到一种方法来检测它是否不是一个角色。

谢谢!

2 个答案:

答案 0 :(得分:1)

如果字符串中的所有字符都是字母,则需要使用返回True的isalpha方法。

name = input("Please enter a name: ")

while True:
    try:
        if name == "Mitnick":
            print("Most Wanted")
            break
        elif name.isalpha():
            print(name,"not on the Most Wanted List")
            break
        else:
            raise ValueError
    except ValueError:
        print("You didn't enter a name")
        break

答案 1 :(得分:0)

这是因为没有引发异常。 引发异常的原因可能是内置异常触发异常,或者手动触发异常。