以下是我的代码:
# 创建用户类
class Users:
def __init__(self, userName, passWord):
self.userName = userName
self.passWord = passWord
# 创建管理类
class Manager:
def __init__(self):
self.allUserList = []
# 注册
def registered(self, newUser):
for one in self.allUserList:
if one.userName == newUser.userName:
return -1
self.allUserList.append(newUser)
return 1
# 用户信息文件读取
def readFromFile(self, fileName):
f = open(fileName, "w")
f.close()
with open(fileName, "r", encoding="utf-8") as f:
for oneStr in f:
oneList = oneStr.strip("\n").split(",")
user = Users(oneList[0], oneList[1])
self.allUserList.append(user)
# 用户信息文件写入
def writeToFile(self, fileName):
f = open(fileName, "w")
f.close()
with open(fileName, "a", encoding="utf-8") as f:
for one in self.allUserList:
oneStr = str(one.userName) + "," + str(one.passWord) + "\n"
f.write(oneStr)
# 登录
def login(self, aUser):
for one in self.allUserList:
if one.userName == aUser.userName:
if one.passWord == aUser.passWord:
return 2
else:
return 1
else:
return -1
def menuShow():
print("==================")
print("***** 1.注册 *****")
print("***** 2.登录 *****")
print("==================")
if __name__ == "__main__":
userManager = Manager()
userManager.readFromFile("user.txt")
while True:
menuShow()
select = int(input("请选择功能:"))
# 1.注册
if select == 1:
userName = input("请输入用户名:")
passWord = input("请输入密码:")
auser = Users(userName, passWord)
if userManager.registered(auser) == -1:
print("该用户名已存在!")
userManager.writeToFile("user.txt")
else:
userManager.writeToFile("user.txt")
flag = input("注册成功!\n请返回登录!")
elif select == 2:
userName = input("请输入用户名:")
passWord = input("请输入密码:")
auser = Users(userName, passWord)
if userManager.login(auser) == 2:
print("登陆成功!")
break
elif userManager.login(auser) == 1:
print("密码输入错误!\n请重新输入!")
continue
elif userManager.login(auser) == -1:
print("用户名输入错误!\n请重新输入!")
continue