图书馆会员班,不知道我哪里出错了

2024-06-28 18:45:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图完成一系列的类定义任务,但似乎无法通过这一任务。它是由三部分组成的系列的一部分;第一部分要求您模拟一本图书馆的书,我可以很容易地完成

下一部分是要求创建一个Member类来建模一个库成员,并包含一个borrow_book()和一个return_book()方法,并获取该成员的所有借书列表,以便按字母顺序打印出来

我不明白我在哪一部分出错了。有人能给我指出正确的方向吗?我已经在下面列出了我的代码

class Book(object):

    def __init__(self, title, author, copies=1, loan=0):
        self.title = title
        self.author = author
        self.copies = copies
        self.loan = loan

    def checkbook(self, title):
        for book in self.title:
            if book.title in self.title:
                return book
            else:
                print("Sorry, Not Available.")

    def  borrow_book(self):
        abc = self.checkbook(title)
        print(abc)
        self.loan += 1
        self.copies -= 1

    def return_book(self):
        self.loan -= 1

    def __str__(self):
        r = []
        r.append('Title: {}'.format(self.title))
        r.append('Author: {}'.format(self.author))
        r.append('Copies: {}'.format(self.copies))
        r.append('On loan: {}'.format(self.loan))
        return '\n'.join(r)

def sort_books(b):
    return b.title

class Member(object):

    def __init__(self, mid, name, loans=0):
        self.mid = mid
        self.name = name
        self.loans = loans
        self.d = {}

    def __str__(self, mid, name, loans=0):
        r = []
        r.append('ID: {}'.format(self.mid))
        r.append('Name: {}'.format(self.name))
        r.append('Loans: {}'.format(self.loans))
        l = ['{}'.format(b) for b in sorted(self.d.values(), key=sort_books)]
        return '\n'.join(r)
        return '\n'.join(l)

Tags: nameinselfformatreturntitledefauthor