Прочети кода внимателно
class ChargeService:
def __init__(self):
self.balance = 0 # running ledger
self.seen = {} # idempotency-key → cached response
self.log = []
def charge(self, key, amount):
if key in self.seen:
self.log.append(f"cached {self.seen[key]}")
return self.seen[key]
self.balance += amount
receipt = f"OK {self.balance}"
self.seen[key] = receipt
self.log.append(f"processed {receipt}")
return receipt
svc = ChargeService()
svc.charge("idem-A", 100) # first attempt — processes
svc.charge("idem-A", 100) # retry SAME key — should return cached
svc.charge("idem-A", 100) # another retry — still cached
svc.charge("idem-B", 50) # new key — fresh charge
print("\n".join(svc.log))
# What does this print? Type your prediction.Какво ще изведе програмата? Напиши тук: