Skip to main content
 首页 » 编程设计

Python之确保输入仅包含字符 A-Z 的验证

2025年05月04日11leader

我正在 Python 3.x 中创建一个程序,它要求用户输入他们的名字和姓氏,并将这些存储在变量中,然后将这些变量连接成一个变量:

firstName = input("What's your first name? ") 
lastName = input("What's your first name? ") 
name = firstName + " " + lastName 

我试过:

while True: 
    try: 
        firstName = input("What's your first name? ") 
        lastName = input("What's your first name? ") 
        name = firstName + " " + lastName 
        break 
    except ValueError: 
        print("That's invalid, please try again.") 

这确保输入了一个字符串,但输入 'bob38'、'74' 或 '][;p/' 都算作字符串值,因此这些将被接受,这不是我想要发生的。

我希望有效输入仅包含字母 A-Z/a-z(大写和小写),如果输入包含任何其他内容,则会输出一条错误消息(例如“无效,请重试”。)并且用户是又问了一遍。我该怎么做?

请您参考如下方法:

您实际上要做的是检查您的字符串是否不是 isalpha() 并输出错误并继续循环直到获得有效条目。

所以,为了给你一个想法,这里有一个简单的例子:

while True: 
    name = input("input name") 
    if name.isalpha(): 
        break 
    print("Please enter characters A-Z only") 
 
print(name) 

请注意,如对此问题的评论中所述,这仅限于包含字母的名称。有几个有效名称将包含 ' 和 -,在验证名称时可能应该考虑这些名称。