Система Python для библиотеки. Пробовал все [closed]

Простая программная система для библиотеки моделирует библиотеку как собрание книг и постоянных посетителей в соответствии со следующими требованиями:

У покровителя может быть не более трех книг в любой момент времени. У каждой книги есть название, автор, покровитель, которому она была передана, и список читателей, ожидающих возврата этой книги. Когда покровитель хочет взять книгу на время, он автоматически добавляется в список ожидания книги, если книга уже получена. Когда посетитель возвращает книгу, она автоматически передается в долг первому посетителю в его списке ожидания, который может проверить книгу. У каждого покровителя есть имя и количество книг, которые он уже просмотрел. Разработайте классы Book и Patron для моделирования этих объектов. Сначала подумайте об интерфейсе или наборе методов, которые будут использоваться с каждым классом, а затем выберите соответствующие структуры данных для состояния объектов.

class Patron(object):
    """This class represents a patron
    with a name and a number of books checked out."""

    MAX_BOOKS_OUT = 3
        
    def __init__(self, name):
        self._name = name
        self._numBooksOut = 0

    def __str__(self):
        result = self._name + ', ' + str(self._numBooksOut) + 
                 " books out"
        return result

    def getNumBooksOut(self):
        """Returns the number of books out."""

    def inc(self):
        """Increments the number of books out."""
        

    def dec(self):
        """Decrements the number of books out."""

        
class Book(object):
    """This class represents a book with a title, author,
    a patron to whom the book is check out, and a wait list
    of patrons for it."""

    def __init__(self, title, author):
        """Creates a new book with the given title and author."""
        self._title = title
        self._author = author
        self._patron = None
        self._waitList = []

    def __str__(self):
        result="Title:  " + self._title + 'n' 
        result += 'Author: ' + self._author + 'n'
        if self._patron:
            result += "Checked out to: " + str(self._patron) + 'n'
        else:
            result += "Not checked outn"
        result += "Wait list:n"
        for patron in self._waitList:
            result += str(patron) + 'n'
        return result

    def borrowMe(self, patron):
        """Attempts to loan book to patron."""

    def returnMe(self):
        """Current patron returns book, attempts to loan it
        to a qualified waiting patron."""


def main():
    """Tests the Patron and Book classes."""
    p1 = Patron("Ken")
    p2 = Patron("Martin")
    b1 = Book("Atonement", "McEwan")
    b2 = Book("The March", "Doctorow")
    b3 = Book("Beach Music", "Conroy")
    b4 = Book("Thirteen Moons", "Frazier")
    print(b1.borrowMe(p1))
    print(b2.borrowMe(p1))
    print(b3.borrowMe(p1))
    print(b1.borrowMe(p2))
    print(b4.borrowMe(p1))
    print(p1)
    print(b1)
    print(b4)
    print(b1.returnMe())
    print(b2.returnMe())
    print(b1)
    print(b2)

main()

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *