0

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

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 中。我需要找到一种方法让它检测它是否不是一个字符。

谢谢!

4

2 回答 2

1

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

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
于 2013-09-09T00:26:35.383 回答
0

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

于 2013-09-09T00:22:58.787 回答