Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Store:
- def __init__(self, name: str, type: str, capacity: int):
- self.name = name
- self.type = type
- self.capacity = capacity
- self.items = {}
- @classmethod
- def from_size (cls, name: str, type: str, size: int):
- return cls(name, type, size // 2)
- def add_item(self, item_name:str):
- if sum([self.items[x] for x in self.items]) < self.capacity:
- if item_name not in self.items:
- self.items[item_name] = 0
- self.items[item_name] += 1
- return f'{item_name} added to the store'
- else:
- return 'Not enough capacity in the store'
- def remove_item(self, item_name:str, amount:int):
- if item_name in self.items:
- if amount <= self.items[item_name]:
- self.items[item_name] -= amount
- return f'{amount} {item_name} removed from the store'
- else:
- return f'Cannot remove {amount} {item_name}'
- else:
- return f'Cannot remove {amount} {item_name}'
- def __repr__(self):
- return f'{self.name} of type {self.type} with capacity {self.capacity}'
- first_store = Store("First store", "Fruit and Veg", 20)
- second_store = Store.from_size("Second store", "Clothes", 500)
- print(first_store)
- print(second_store)
- print(first_store.add_item("potato"))
- print(second_store.add_item("jeans"))
- print(first_store.remove_item("tomatoes", 1))
- print(second_store.remove_item("jeans", 1))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement