案例11:简易图书馆

2020-03-28  本文已影响0人  Iphone60Plus

题目:制作一个简易图书馆

class Book:# 创建Book类,初始化属性和方法,方便调用
    def __init__(self,name,author,comment,state=0):
        self.name = name
        self.author = author
        self.comment = comment
        self.state = state

    def __str__(self):# 实例对象print时,会直接返回__init__的return值
        if self.state == 0:
            status = '未借出'
        else:
            status = '已借出'
        return '名称:{} 作者:{} 推荐语:{} 状态:{}'.format(self.name,self.author,self.comment,status)

class Bookmanger:# 创建类,用于封装各大函数
    books = []# 创建一个列表,列表中每个元素都是Book的实例
    def __init__(self):# 创建3个实例对象
        book1 = Book('惶然录','费尔南多·佩索阿','一个迷失方向且濒于崩溃的灵魂的自我启示,一首对默默无闻、失败、智慧、困难和沉默的赞美诗。')
        book2 = Book('以箭为翅','简媜','调和空灵文风与禅宗境界,刻画人间之缘起缘灭。像一条柔韧的绳子,情这个字,不知勒痛多少人的心肉。')
        book3 = Book('心是孤独的猎手','卡森·麦卡勒斯','我们渴望倾诉,却从未倾听。女孩、黑人、哑巴、醉鬼、鳏夫的孤独形态各异,却从未退场。', 1)
    
        self.books.append(book1)
        self.books.append(book2)
        self.books.append(book3)
    
    def show_all_book(self):# 查询图书信息
        print('')
        for book in self.books:
            print(book)
            print('')

    def add_book(self):# 添加图书
        self.name = input('添加书籍名称为:')
        self.author = input('添加书籍作者为:')
        self.comment = input('请为添加书籍写推荐语:')
        book4 = Book(self.name,self.author,self.comment)
        self.books.append(book4)
        print('录入成功!\n')

    def check_book(self,name):#方便借阅和返还书籍调用,不用重复代码
        for book in self.books:
            if book.name == name:
                return book
            else:
                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('你想还那本书呢')
        ret = self.check_book(name)
        if ret != None:
            ret.state = 0
            print('还书成功')
        else:
            print('这本书不是从本图书馆借出的')

    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    

manger = Bookmanger()
manger.menu()
上一篇 下一篇

猜你喜欢

热点阅读