subject

Python Code please help 20Points A simple software system for a library models a library as a collection of books and patrons, as per the requirements below:

A patron can have at most three books out on loan at any given time.
Each book has a title, an author, a patron to whom it has been checked out, and a list of patrons waiting for that book to be returned.
When a patron wants to borrow a book, that patron is automatically added to the book’s wait list if the book is already checked out.
When a patron returns a book, it is automatically loaned to the first patron on its wait list who can check out a book.
Each patron has a name and the number of books that patron has currently checked out.
Develop the classes Book and Patron to model these objects. Think first of the interface or set of methods to be used with each class, and then choose appropriate data structures for the state of the objects.

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 out\n"
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()

ansver
Answers: 3

Another question on Computers and Technology

question
Computers and Technology, 23.06.2019 02:50
Define a class named movie. include private fields for the title,year, and name of the director. include three public functions withprototypes void movie: : settitle(cstring); , voidmovie: : setyear(int); , void movie: : setdirector(string); . includeanother function that displays all the information about a movie.write a main() function that declares a movie object namedmyfavoritemovie. set and display the object's fields.this is what i have but know its wrong since it will notcompile: #include#includeusing namespace std; //class declarationclass movie{private: string movietitle ; string movieyear; string directorname; public: void settitle(string title); void setyear(string year); void setdirector(string director); void displayinfo(); }; //class implementationvoid movie: : settitle(string title){ movietitle = title; cout< < "what is the title of themovie? "< > temp; myfavoritemovie.settitle(temp); cout< < "enter movie year"< > temp; myfavoritemovie.setyear(temp); cout< < "enter director'sname"< > temp; myfavoritemovie.setdirector(temp); //display all the data myfavoritemovie.displayinfo(); system("pause"); return 0; this code is not entirely mine someone on cramster edited my firstcode but then i try manipulating the new code and i still get acompile error message : \documents\visual studio 2008\projects\movie\movie\movie.cpp(46) : error c2679: binary '< < ' : no operator found which takes aright-hand operand of type 'std: : string' (or there is no acceptableconversion)c: \program files (x86)\microsoft visual studio9.0\vc\include\ostream(653): could be'std: : basic_ostream< _elem,_traits> & std: : operator< < > (std: : basic_ostream< _elem,_traits> & ,const char *)w
Answers: 1
question
Computers and Technology, 23.06.2019 05:00
In cell b18, enter a formula to calculate the amount budgeted for meals. this amount is based on the daily meal allowance and the total travel days (# of nights+1).
Answers: 1
question
Computers and Technology, 23.06.2019 06:10
The head restraint should be adjusted so that it reaches a.the top of your ears b.the base of your skull c.the top of the head
Answers: 1
question
Computers and Technology, 23.06.2019 15:20
In a game with three frames, where will the objects on layer 1 appear? a. next to the play area b. in the middle of the game c. behind everything else d. in front of everything else
Answers: 1
You know the right answer?
Python Code please help 20Points A simple software system for a library models a library as a coll...
Questions
question
Mathematics, 22.04.2021 20:20
question
Mathematics, 22.04.2021 20:20
question
Mathematics, 22.04.2021 20:20
question
Biology, 22.04.2021 20:20
question
Mathematics, 22.04.2021 20:20
Questions on the website: 13722365