我对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
答案 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