27 lines
647 B
Python

class Jar:
def __init__(self, capacity=12):
if not isinstance(capacity, int) or capacity < 0:
raise ValueError("Invalid capacity")
self._capacity = capacity
self._size = 0
def __str__(self):
return '🍪' * self.size
def deposit(self, n):
new_size = n + self.size
if new_size > self.capacity or new_size < 0:
raise ValueError("Exceeded capacity")
self._size += n
def withdraw(self, n):
return self.deposit(-n)
@property
def capacity(self):
return self._capacity
@property
def size(self):
return self._size