python识别出列表的新成员遇到困难



我正在编写一个python脚本,该脚本使用用户名,并确定它是否是有效的用户名。如果它与其他任何用户名不同并且大于6个字符,则将其添加到用户名列表中。如果用户名短于6个字符,或者与现有用户名相同,则该程序结束并告知用户无效名称。我的问题是,如果我放置了一个新的用户名,该用户名已添加到列表中,然后再次放入同样的用户名,它并没有告诉我它已经采用。

name_list = []
username = input("input your new username: ")
if len(username) < 6:
    print('username is too short')
elif len(username) >6:
    if username in name_list :
        print('username taken')
    elif username not in name_list:
        name_list.append(username)

说我输入jonnyboy作为用户名;它被添加到name_list。如果然后使用相同的用户名再次运行程序,则它不认识到它与现有用户名相同。

每次重新启动脚本时,您的列表都会重置。您需要将列表存储在文件中。下次运行脚本以获取旧列表时,请阅读该文件。看看这篇文章:http://www.pythonforbeginners.com/files/reading-anding-anding-writing-files-in-python

在这种情况下,我认为JSON模块会做得很好。只需致电json.dump(name_list, file)存储列表即可。

将列表写入文件的示例:

with open("somefile.txt", "w") as file:
    json.dump(name_list, file)

并阅读:

with open("somefile.txt") as file:
    name_list = json.load(file)

最新更新