利用python写一个简易图书管理系统

2021/12/24 14:37:07

本文主要是介绍利用python写一个简易图书管理系统,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

user = [['aaa', '123456'], ['bbb', '123456789']
                 ]
i = 0
f = 0
print('-'*10, '欢迎进入图书管理系统', '-'*10)
print('请在下方选择您要进行的操作')
while i < 4:
    xuan = input('注册账号请选择:1\t, 登录账号请选择:2\n输入选择:')
    if xuan == "1":
        while True:
            zhe = input('请选择您要注册的账号类型:注册普通用户:a\t注册图书管理员:b\t返回上一层:c\n输入选择:')
            if zhe == "b":
                def yn():
                    global f
                    if f < 1:
                        che = input('请输入您设置的密码:')
                        print('图书管理员注册成功')
                        user.append(['图书管理员', che])
                        print(user)
                yang = yn()
                print(yang)
                f += 1
                # if we == None:
                #     print('对不起,管理员账号已被注册。')
            elif zhe == "a":
                zu = input('请输入您要注册的账号:')
                ch = input('请输入您设置的密码:')
                user.append([zu, ch])
                print(user)
                print('注册成功')
            elif zhe == "c":
                break
            else:
                print("请按照规定输入类型")
    elif xuan == "2":
        l = 0
        while True:
            cc = input('请选择您要进行的操作类型:\n登录普通账号:1\t登录管理员账号:2\t返回上一层:3\n:')
            if cc == "1":
                fu = input('请输入您的账号:')
                ru = input('请输入您的密码:')
                if [fu, ru] in user:
                    print('欢迎{}进入图书管理系统'.format(fu))



                    class Book(object):  # 定义一个书类

                        def __init__(self, name, author, status, bookindex):
                            self.name = name
                            self.author = author
                            self.status = status
                            self.bookindex = bookindex

                        def __str__(self):
                            if self.status == 1:
                                stats = '未借出'
                            elif self.status == 0:
                                stats = '已借出'
                            else:
                                stats = '状态异常'
                            return '书名: 《%s》 作者: %s 状态: <%s> 位置: %s' \
                                   % (self.name, self.author, stats, self.bookindex)


                    class BookManage(object):
                        books = []

                        def start(self):
                            # 添加图书
                            self.books.append(Book('吞噬星空', '番茄', 1, 'ISO9001'))
                            self.books.append(Book('神印王座', '唐家三少', 1, 'NFS8102'))
                            self.books.append(Book('深空彼岸', '辰东', 1, 'PKA7844'))
                            # 0:借出 1:存在
                            # python 1
                            # c 1
                            # java 1

                        def Menu(self):
                            self.start()
                            while True:
                                print("""
                                            图书管理系统
                             1.查询图书
                             2.借阅图书
                             3.归还图书
                             4.退出系统
                            """)

                                choice = input('请选择:')

                                if choice == '1':
                                    self.showAllBook()  # 调用显示所有书籍的函数
                                elif choice == '2':
                                    self.borrowBook()  # 调用借书的函数
                                elif choice == '3':
                                    self.returnBook()  # 调用还书的函数
                                elif choice == '4':
                                    print('欢迎下次使用...')
                                    exit()
                                else:
                                    print('请输入正确选择')
                                    continue


                        def showAllBook(self):
                            for book in self.books:
                                print(book)


                        def checkBook(self, name):
                            for book in self.books:
                                if book.name == name:
                                    return book
                            else:
                                return None

                        def borrowBook(self):
                            name = input('借阅图书名称: ')
                            ret = self.checkBook(name)
                            print(ret)
                            # 判断书是否存在,如果存在,判断书是否已借出,如果没有借出,借阅并将其状态改为0
                            if ret != None:
                                if ret.status == 0:
                                    print('书籍《%s》已经借出' % name)
                                else:
                                    ret.status = 0
                                    print('书籍《%s》借阅成功' % name)
                            else:
                                print('书籍《%s》不存在' % name)

                        def returnBook(self):
                            name = input('归还图书名称:')
                            ret = self.checkBook(name)

                            if ret != None:
                                if ret.status == 0:
                                    ret.status = 1
                                    print('书籍《%s》归还成功' % name)
                                    print(ret)
                                else:
                                    print('书籍《%s》未借出' % name)
                            else:
                                print('书籍《%s》不存在' % name)


                    manager = BookManage()  # 类的实例化
                    manager.Menu()
                else:
                    print('账号密码错误,请重新输入您的账号密码')
            elif cc == "2":
                jia = input('请输入管理员密码的密码:')
                if ['图书管理员', jia] in user:
                    print('欢迎图书管理员进入图书管理系统')
                    print(10*'*', "管理员您好,清选择你要进行的操作", "*"*10)

                    class Book(object):  # 定义一个书类

                        def __init__(self, name, author, status, bookindex):
                            self.name = name
                            self.author = author
                            self.status = status
                            self.bookindex = bookindex

                        def __str__(self):
                            if self.status == 1:
                                stats = '未借出'
                            elif self.status == 0:
                                stats = '已借出'
                            else:
                                stats = '状态异常'
                            return '书名: 《%s》 作者: %s 状态: <%s> 位置: %s' \
                                   % (self.name, self.author, stats, self.bookindex)


                    class BookManage(object):
                        books = []

                        def start(self):
                            # 添加图书
                            self.books.append(Book('吞噬星空', '番茄', 1, 'ISO9001'))
                            self.books.append(Book('神印王座', '唐家三少', 1, 'NFS8102'))
                            self.books.append(Book('深空彼岸', '辰东', 1, 'PKA7844'))
                            # 0:借出 1:存在
                            # python 1
                            # c 1
                            # java 1

                        def Menu(self):
                            self.start()
                            while True:
                                print("""
                                            图书管理系统
                            1.查询图书
                            2.增加图书
                            3.借阅图书
                            4.归还图书
                            5.退出系统
                            """)

                                choice = input('请选择:')

                                if choice == '1':
                                    self.showAllBook()  # 调用显示所有书籍的函数
                                elif choice == '2':
                                    self.addBook()  # 调用添加书籍的函数
                                elif choice == '3':
                                    self.borrowBook()  # 调用借书的函数
                                elif choice == '4':
                                    self.returnBook()  # 调用还书的函数
                                elif choice == '5':
                                    print('欢迎下次使用...')
                                    exit()
                                else:
                                    print('请输入正确选择')
                                    continue


                        def showAllBook(self):
                            for book in self.books:
                                print(book)

                        def addBook(self):
                            name = input('图书名称:')
                            self.books.append(Book(name, input('作者:'), 1, input('存储位置:')))
                            print('图书《%s》增加成功' % name)

                        def checkBook(self, name):
                            for book in self.books:
                                if book.name == name:
                                    return book
                            else:
                                return None

                        def borrowBook(self):
                            name = input('借阅图书名称: ')
                            ret = self.checkBook(name)
                            print(ret)
                            # 判断书是否存在,如果存在,判断书是否已借出,如果没有借出,借阅并将其状态改为0
                            if ret != None:
                                if ret.status == 0:
                                    print('书籍《%s》已经借出' % name)
                                else:
                                    ret.status = 0
                                    print('书籍《%s》借阅成功' % name)
                            else:
                                print('书籍《%s》不存在' % name)

                        def returnBook(self):
                            name = input('归还图书名称:')
                            ret = self.checkBook(name)

                            if ret != None:
                                if ret.status == 0:
                                    ret.status = 1
                                    print('书籍《%s》归还成功' % name)
                                    print(ret)
                                else:
                                    print('书籍《%s》未借出' % name)
                            else:
                                print('书籍《%s》不存在' % name)


                    manager = BookManage()  # 类的实例化
                    manager.Menu()
                else:
                    print('管理员密码错误,请重新输入管理员密码')
            elif cc == "3":
                break
            else:
                print("输入错误请按照要求输入")

    else:
        print("输入错误请重新输入")

 


这篇关于利用python写一个简易图书管理系统的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程