The class book corner tracks loans with BookCorner: self.loans is {book: who has it}. Finish borrow(book, person): a book can only be borrowed if it's on the shelf; if it's already out, nothing changes. Finish give_back(book): remove it only if it was out.
on_loan([("borrow", "Dune", "Mia"), ("borrow", "Dune", "Leo")])→[('Dune', 'Mia')]on_loan([("borrow", "Emma", "Sol"), ("return", "Emma")])→[]class BookCorner:
def __init__(self):
self.loans = {}
def borrow(self, book, person):
# your code here: only if the book isn't in self.loans, write down who borrowed it
pass
def give_back(self, book):
# your code here: if the book is in self.loans, delete it
pass
def on_loan(events):
corner = BookCorner()
for event in events:
if event[0] == "borrow":
corner.borrow(event[1], event[2])
else:
corner.give_back(event[1])
return sorted(corner.loans.items())
Run tries the examples. When they look right, Submit.