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

时间:2018-08-27 17:18:05

标签: 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(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

2 个答案:

答案 0 :(得分:3)

if Name in Black_List:

这将检查整个名称是否在黑名单中。相反,您想分别检查名称中的每个字符:

if any(ch in Black_List for ch in Name):

答案 1 :(得分:0)

  

我在此处创建了示例代码,blackc代表列入黑名单的字符

blackc = ['a','n']

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

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