将Python中的某些字符列入黑名单

将Python中的某些字符列入黑名单,python,python-3.x,python-3.7,Python,Python 3.x,Python 3.7,我对python相当陌生,我已经开始创建一个小脚本,将用户名保存到文本文件中。我想有一个黑名单上的字符,不能出现在一个人的名字,但我只设法不让黑名单上的字符的名称。我该怎么做 Name = input("What is your name?\n") NameDoc = open("Name.txt", "w") Black_List = ["B", "A"] if Name in Black_List: print("Blacklisted Name") elif len(Nam

我对python相当陌生,我已经开始创建一个小脚本,将用户名保存到文本文件中。我想有一个黑名单上的字符,不能出现在一个人的名字,但我只设法不让黑名单上的字符的名称。我该怎么做

Name = input("What is your name?\n")
NameDoc = open("Name.txt", "w")



Black_List = ["B", "A"]

if Name in Black_List:
    print("Blacklisted Name")
elif len(Name) > 10:
    print("Sorry, 10 characters max!")
else:
    NameDoc.write(Name)
    NameDoc.close()
    Name2 = open("Name.txt", "r")
    print("Name accepted!")
    print("Hello " + Name2.read())
    Name2.close()

try:
    NameDoc.close()
except:
    pass
这将检查整个名称是否在黑名单中。相反,您希望分别检查名称中的每个字符:

if any(ch in Black_List for ch in Name):
这将检查整个名称是否在黑名单中。相反,您希望分别检查名称中的每个字符:

if any(ch in Black_List for ch in Name):
我在这里创建了一个示例代码,
blackc
代表列入黑名单的字符

我在这里创建了一个示例代码,
blackc
代表列入黑名单的字符

blackc = ['a','n']

name = input('what is your name?: ' )

for character in blackc:
    if character in name:
        print('selct a new name')
        break