班里的图书角用 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")])→[]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())
写好了先点「运行」试试示例,没问题再点「提交」。