Kodewick
Start learning →
Mini challenge←→0 / 80

Class book corner

#079Mini challengeClassesDicts7 min

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.

Examples
on_loan([("borrow", "Dune", "Mia"), ("borrow", "Dune", "Leo")])→[('Dune', 'Mia')]
on_loan([("borrow", "Emma", "Sol"), ("return", "Emma")])→[]
main.py
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())
Ctrl + Enter runs too
Result

Run tries the examples. When they look right, Submit.