python之图书馆管理系统完善2

#登录校验:如果账号名字存在,检测密码是否正确,正确则登录成功,不正确登录失败,返回登录界面。
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().

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值