#登录校验:如果账号名字存在,检测密码是否正确,正确则登录成功,不正确登录失败,返回登录界面。
import numpy as ny
def login_lib():
print("欢迎来到XX图书馆:")
username = input("请输入您的名字:")
passworad = input("请输入您的密码:")
with open("C:\\Users\\lenovo\\Desktop\\lib.txt",'r')as fr:
fr_read = fr.readlines()
i = 0
for read_list in fr_read:
if username == read_list.split('-')[0]:
if passworad == read_list.split('-')[1]:
i+=1
print("登录成功")
exit()
if i == 0:
print("登录失败")
return manage_lib()
#注册内容:判断注册的账号名字是否存在如果存在,报错,返回注册系统,否则完成注册并将注册账号写入文本中,然后返回登录界面
def regist_lib():
print("欢迎来到图书馆管理系统:")
print("*****************")
username = input("输入要注册的账号名字:")
password = input("请输入您的密码:")
repass = input("请再次确认您的密码:")
emil = input("请输入您的邮箱:")
if password != repass:
print("前后密码不一致,请重新注册")
return regist_lib()
elif password == repass:
ishave = False
with open("C:\\Users\\lenovo\\Desktop\\lib.txt", 'r+') as file:
user_data_list = file.readlines()
for user_data in user_data_list:
user_Name = user_data.split('-')[0]
if username == user_Name :
ishave = True
if ishave == True:
print('注册失败,请重新注册!用户名%s已经被占用'%username)
return regist_lib()
else:
file.write(username + '-' + password + '-' + emil + '\n')
file.close()
print("注册成功!")
print("请记住您的账号密码:", username+'-'+password+'-'+emil)
return login_lib()
#找回密码
def seek_password():
un = input("请输入您要找回的账号:")
em = input("请输入您的邮箱:")
with open("C:\\Users\\lenovo\\Desktop\\lib.txt",'r') as sf:
filelist = sf.readlines()
r_i = 0
for user_list in filelist:
UserName = user_list.split('-')[0]
Emil = user_list.split('-')[2]
emil = Emil.strip()
password = user_list.split('-')[1]
if UserName == un and emil == em:
r_i+=1
print("您要找回的账号密码是:", password)
return login_lib()
if r_i==0:
print("账号不存在")
return manage_lib()
def manage_lib():
print("欢迎来到图书馆管理系统")
print("请输入您的选择:")
print("1,登录\n2,注册\n3,退出\n4,找回密码")
choose = input("请输入您的选择:")
if choose == str(1):
print("欢迎登录图书馆管理系统")
login_lib()
elif choose == '2':
regist_lib()
elif choose == str(3):
exit()
elif choose == str(4):
print("重置密码服务")
seek_password()
#找回密码工作
else:
print("输入指令有误,退出系统")
manage_lib()
在进行文件内容读取到末尾数据的时候,一定注意:
此时用切片读取的数据不是单纯看到的数据那样,而是隐藏的带有\n,此时需要对切片的数据进行处理:
使用strip()函数,使用办法:value.strip().