Kodewick
开始学 →
小挑战←→0 / 80

图书角借书

#079小挑战类和对象字典约 7 分钟

班里的图书角用 BookCorner 记借书:self.loans 是 {书名: 借的人}。写完 borrow(book, person):书还在才借得走,已经借出去就不变。give_back(book):借出去的才拿掉,没借出的不管。

示例
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):
        # 在这里写:书不在 self.loans 里,才记下谁借了它
        pass

    def give_back(self, book):
        # 在这里写:书在 self.loans 里,就把它删掉
        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 也能运行
结果

写好了先点「运行」试试示例,没问题再点「提交」。