python小课 第14关 查询书籍

系统 1854 0
            
              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》 作者:%s 推荐语:%s\n状态:%s ' % (self.name, self.author, self.comment, status)
 
class BookManager:

    authors = []
    # 创建一个存放作者名的列表
    def __init__(self):
        book1 = Book('撒哈拉的故事','三毛','我每想你一次,天上便落下一粒沙,从此便有了撒哈拉。')
        book2 = Book('梦里花落知多少','三毛','人人都曾拥有荷西,虽然他终会离去。')
        book3 = Book('月亮与六便士','毛姆','满地都是六便士,他却抬头看见了月亮。')
        self.books = [book1,book2,book3]
        # 将三个实例放在列表books里
        self.authors.append(book1.author)
        self.authors.append(book2.author)
        self.authors.append(book3.author)
        # 将三个实例的作者名添加到列表author里
 
    def menu(self):
        while True:
            print('1.查询书籍')
            choice = int(input('请输入数字选择对应的功能:'))
            if choice == 1:
                self.show_author_book()
                # 调用方法
            else:
                print('感谢使用!')
                break
 
    def show_author_book(self):
        author = input('你想找谁的书呢?')
        if author not in self.authors:
            print('很可惜,我们暂时没有收录这位作者的作品')
        else:
            print(author+'的作品有:')
            for book in self.books:
                if book.author==author:
                    print(book)
      
manager = BookManager()
manager.menu()



            
          

‘’’
一个思路:

  1. 先用条件判断语句判断该作者在不在列表authors里,如果不在就打印’很可惜,我们暂时没有收录这位作者的作品’
  2. 如果在,就遍历列表books的每个实例,当实例属性author与输入的作者名相等,就打印该实例
    重点是 for book in self.books: if book.author==author: print(book)
    ‘’’
    bash:root$ python ~/practice/apps-1-id-5cd9766119bbcf00015547c2/root/main3.py
    1.查询书籍
    请输入数字选择对应的功能:1
    请输入想查询作家的名称:三毛
    三毛的作品有:
    名称:《撒哈拉的故事》 作者:三毛 推荐语:我每想你一次,天上便落下一粒沙,从此便有了撒哈拉。
    状态:未借出
    名称:《梦里花落知多少》 作者:三毛 推荐语:人人都曾拥有荷西,虽然他终会离去。
    状态:未借出
    1.查询书籍
    请输入数字选择对应的功能:1
    请输入想查询作家的名称:毛姆
    毛姆的作品有:
    名称:《月亮与六便士》 作者:毛姆 推荐语:满地都是六便士,他却抬头看见了月亮。
    状态:未借出
    1.查询书籍
    请输入数字选择对应的功能:0
    感谢使用!

更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论