【图书管理系统】

Hello,大家好。想必大家都去过图书馆,每个人要借书都得有一张卡,所以我们就来看一看这个图书馆里的系统是怎么做的。
1.办卡系统(新建一个用户)
代码:

from 图书管理系统.adm专用系统 import operate
from 图书管理系统.保存系统 import preserve_data, path
from 图书管理系统.修改个人信息 import rstream
from 图书管理系统.用户登录 import login


def logon():
    print("欢迎来到图书管理系统注册页面~")
    username = input("请输入用户名:")
    if len(username) < 6:
        print("用户名不能小于6个字符")
    else:
        email = input("请输入邮箱:")
        password = input("请输入密码:")
        if len(password) < 8:
            print("密码不能少于8位")
        else:
            password = input("请确认密码:")
            if password == password:
                print("注册成功!")
                # 函数调用,每追加一列数据都进行换行 每个数据之间都有空格
                preserve_data(path, [username, '   ' + email, '   ' + password + '\n'])
                login_tips = input('是否登录?(yes/no)')
                if login_tips == 'yes':
                    login()
                else:
                    line = rstream.readline()
                    # 通过3个空格将字符串line分割为一个列表,存储三个值
                    line = line.split('   ')
                    # 循环遍历列表,去掉列表中每个元素后面的换行,如果有就去掉,没有就不取掉
                    for i in range(len(line)):
                        line[i] = line[i].rstrip('\n')
                    # 判断是否管理员,如果是就可以进行添加操作
                    if username == 'adm':
                        pass
                    else:
                        print("只有管理adm才可以进行该操作~")
                        # 不是管理员将回到操作页面
                        operate(path, username)


var = str('(Exception (as))')
err = (Exception(var))
print("错误原因:", err)


def permission():
    return None


def book_path():
    return None


def look_person_info():
    return None

这里讲一下,代码中的adm专用系统都是后面的,现在运行肯定会报错

2.登录系统(每次你激活卡)

# 用户登录
from 图书管理系统.保存系统 import path
from 图书管理系统.新建用户 import book_path, operate, logon


def login():
    print("欢迎来到图书管理系统登录页面~")
    tips = input("是否已经注册?(yes/no)")
    if tips == 'yes':
        while True:
            username = input("输入用户名:")
            password = input("输入密码:")
            # 读取文件时可能会出现找不到文件的异常,因此使用try except
            try:
                # 读取文件中的内容
                with open(path, 'rb') as stream:
                    # 读取多行保存到列表中,列表中保存的是二进制,字节
                    result = stream.readlines()
                    # print(result)
                    # 列表推导式,循环遍历列表,将字节解码为字符串放在一个新列表uesr_list
                    uesr_list = [i.decode() for i in result]
                    # print(uesr_list)
                    # 循环遍历列表,检查输入的用户名和密码是否在字符串中
                    for i in uesr_list:
                        info = i.split('   ')
                        print(info)
                        if username == info[0] and password == info[2].rstrip('\r\n'):
                            print("登录成功")
                            operate(book_path, username)
                            break
                    else:
                        print(info[0])
                        print(info[2])
                        raise Exception("用户名或密码错误,请重新输入!")

            except Exception as err:
                print
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值