首页 > 解决方案 > 用户输入只能是字母字符并包含空格

问题描述

我希望用户输入他们的名字和姓氏并对其进行验证,以便它只是字母和空格,然后将其添加到文本文件中。

**这是根据您的建议编辑的代码,即使输入了字母,它也会始终返回第一条打印消息

while True:
    new_Book_AuthorFName = input('Enter Author First Name: ')
    new_Book_AuthorLName = input('Enter Author Last Name: ')  
    new_Book_Author_Name = new_Book_AuthorFName + " " + new_Book_AuthorLName
    try:
        new_Book_Author_Name.replace(' ', '').isalpha()
        print("Please Only Use Alphabetical Characters in Name.")
        continue
        break
    except ValueError:
        print("Invalid Name.")

标签: pythonstring

解决方案


最简单和最 Pythonic 的方式:

def is_alpha_and_spaces_only(string):
    return string.replace(' ', '').isalpha()

比KetZoomer 的方法更快、更高效,因为它不需要您(a)拆分字符串 & (b)将其组合回来以获得结果。

PS 如果您不想定义它,或者只是功能的精神。如果不是,请使用new_Book_Author_Name.replace(' ', '').isalpha()代替new_Book_Author_Name.isalpha()


推荐阅读