python实现图书管理系统的借阅

  • python实现图书管理系统的借阅

具体代码

class Book:
    def __init__(self,name,author,comment,state=0):
        self.name = name
        self.author = author
        self.comment = comment
        self.state = state

    def __str__(self):
        status = '未借出'
        if self.state == 1:
            status = '已借出'
        return'名称:《%s》\t作者:%s\n推荐语:%s\n状态:%s'%(self.name,self.author,self.comment,status)

class BookManager:
    books = []

    def __init__(self):
        book1 = Book('小王子','安托万·德·圣埃克絮佩里','所述的飞行员坠机于撒哈拉沙漠的情节明显取材于圣埃克苏佩里的亲身经历。')
        book2 = Book('悲惨世界','维克多·雨果','描绘19世纪初20年间几个法国人物的生活背景,涵盖拿破仑战争和1832年巴黎共和党人起义等政治现象叙述。')
        book3 = Book('霍乱时期的爱情','加西亚·马尔克斯','讲述了一段跨越半个多世纪的爱情故事:男女主人公在二十岁的时候没能结婚,因为他们太年轻了;经过各种人生曲折之后,到了八十岁,他们还是没能结婚,因为他们太老了。')
        self.books.append(book1)
        self.books.append(book2)
        self.books.append(book3)

    def menu(self):
        print('欢迎使用贝多芬图书管理系统,周恩来说过:“书籍是人类进步的阶梯!”。\n') 
        while True: 
            print('1.查询所有书籍\n2.添加书籍\n3.借阅书籍\n4.归还书籍\n5.退出系统\n')
            choice = int(input('请输入数字选择对应功能:'))
            if choice == 1:
                self.show_all_book()
            elif choice == 2:
                self.add_book()
            elif choice == 3:
                self.lend_book()
            elif choice == 4:
                self.return_book()
            elif choice == 5:
                print('欢迎下次使用,谢谢,祝您阅读愉快!')
                break

    def show_all_book(self):
        for book in self.books:
            print(book)
            print('')

    def add_book(self):
        new_name = input('请输入书籍名称:')
        new_author = input('请输入作者:')
        new_comment = input('请输入推荐语:')
        new_book = Book(new_name,new_author,new_comment)

        self.books.append(new_book)
        print('恭喜!书籍录入成功!\n')

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

    def lend_book(self):
        name = input('请输入想要借阅书的书名:')
        res = self.check_book(name)

        if res != None:
            if res.state == 1:
                print('你来晚了一步,这本书被借走了哟!')
            else:
                print('借阅成功,为期一个月,请按时还书哟!')
                res.state = 1
        else:
            print('非常抱歉,本图书馆暂时还未收纳本书!')

    def return_book(self):
        name = input('请输入归还书籍的名称:')
        rem = self.check_book(name)

        if rem != None:
            if rem.state == 1:
                print('归还成功,欢迎下次借阅!')
            else:
                print('不需归还,请核实信息')
        else:
            print('这本书暂时没用在系统中!')
manager = BookManager()
manager.menu()

实践功能

欢迎使用贝多芬图书管理系统,周恩来说过:“书籍是人类进步的阶梯!”

1.查询所有书籍
2.添加书籍
3.借阅书籍
4.归还书籍
5.退出系统

请输入数字选择对应功能:1
名称:《小王子》 作者:安托万·德·圣埃克絮佩里
推荐语:所述的飞行员坠机于撒哈拉沙漠的情节明显取材于圣埃克苏佩里的亲身经历。
状态:未借出

名称:《悲惨世界》       作者:维克多·雨果
推荐语:描绘19世纪初20年间几个法国人物的生活背景,涵盖拿破仑战争和1832年巴黎共和党人起义等政治现象叙述。
状态:未借出

名称:《霍乱时期的爱情》 作者:加西亚·马尔克斯
推荐语:讲述了一段跨越半个多世纪的爱情故事:男女主人公在二十岁的时候没能结婚,因为他们太年轻了;经过各种人生曲折之后,到了八十岁,他们还是没能结婚,
因为他们太老了。
状态:未借出

1.查询所有书籍
2.添加书籍
3.借阅书籍
4.归还书籍
5.退出系统

请输入数字选择对应功能:2
请输入书籍名称:围城
请输入作者:钱钟书
请输入推荐语:是中国现代文学史上一部风格独特的讽刺小说。被誉为“新儒林外史”。
恭喜!书籍录入成功!

1.查询所有书籍
2.添加书籍
3.借阅书籍
4.归还书籍
5.退出系统

请输入数字选择对应功能:1
名称:《小王子》 作者:安托万·德·圣埃克絮佩里
推荐语:所述的飞行员坠机于撒哈拉沙漠的情节明显取材于圣埃克苏佩里的亲身经历。
状态:未借出

名称:《悲惨世界》       作者:维克多·雨果
推荐语:描绘19世纪初20年间几个法国人物的生活背景,涵盖拿破仑战争和1832年巴黎共和党人起义等政治现象叙述。
状态:未借出

名称:《霍乱时期的爱情》 作者:加西亚·马尔克斯
推荐语:讲述了一段跨越半个多世纪的爱情故事:男女主人公在二十岁的时候没能结婚,因为他们太年轻了;经过各种人生曲折之后,到了八十岁,他们还是没能结婚,
因为他们太老了。
状态:未借出

名称:《围城》   作者:钱钟书
推荐语:是中国现代文学史上一部风格独特的讽刺小说。被誉为“新儒林外史”。
状态:未借出

1.查询所有书籍
2.添加书籍
3.借阅书籍
4.归还书籍
5.退出系统

请输入数字选择对应功能:3
请输入想要借阅书的书名:小王子
借阅成功,为期一个月,请按时还书哟!
1.查询所有书籍
2.添加书籍
3.借阅书籍
4.归还书籍
5.退出系统

请输入数字选择对应功能:4
请输入归还书籍的名称:shdfash
这本书暂时没用在系统中!
1.查询所有书籍
2.添加书籍
3.借阅书籍
4.归还书籍
5.退出系统

请输入数字选择对应功能:1
名称:《小王子》 作者:安托万·德·圣埃克絮佩里
推荐语:所述的飞行员坠机于撒哈拉沙漠的情节明显取材于圣埃克苏佩里的亲身经历。
状态:已借出

名称:《悲惨世界》       作者:维克多·雨果
推荐语:描绘19世纪初20年间几个法国人物的生活背景,涵盖拿破仑战争和1832年巴黎共和党人起义等政治现象叙述。
状态:未借出

名称:《霍乱时期的爱情》 作者:加西亚·马尔克斯
推荐语:讲述了一段跨越半个多世纪的爱情故事:男女主人公在二十岁的时候没能结婚,因为他们太年轻了;经过各种人生曲折之后,到了八十岁,他们还是没能结婚,
因为他们太老了。
状态:未借出

名称:《围城》   作者:钱钟书
推荐语:是中国现代文学史上一部风格独特的讽刺小说。被誉为“新儒林外史”。
状态:未借出

1.查询所有书籍
2.添加书籍
3.借阅书籍
4.归还书籍
5.退出系统

请输入数字选择对应功能:4
请输入归还书籍的名称:小王子
归还成功,欢迎下次借阅!
1.查询所有书籍
2.添加书籍
3.借阅书籍
4.归还书籍
5.退出系统

请输入数字选择对应功能:5
欢迎下次使用,谢谢,祝您阅读愉快!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值