Advertisement
simeonshopov

Store

Jun 14th, 2020
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.50 KB | None | 0 0
  1. class Store:
  2.     def __init__(self, name: str, type: str, capacity: int):
  3.         self.name = name
  4.         self.type = type
  5.         self.capacity = capacity
  6.         self.items = {}
  7.  
  8.     @classmethod
  9.     def from_size (cls, name: str, type: str, size: int):
  10.         return cls(name, type, size // 2)
  11.  
  12.     def add_item(self, item_name:str):
  13.         if sum([self.items[x] for x in self.items]) < self.capacity:
  14.             if item_name  not in self.items:
  15.                 self.items[item_name] = 0
  16.             self.items[item_name] += 1
  17.             return f'{item_name} added to the store'
  18.         else:
  19.             return 'Not enough capacity in the store'
  20.  
  21.     def remove_item(self, item_name:str, amount:int):
  22.         if item_name in self.items:
  23.             if amount <= self.items[item_name]:
  24.                 self.items[item_name] -= amount
  25.                 return f'{amount} {item_name} removed from the store'
  26.             else:
  27.                 return f'Cannot remove {amount} {item_name}'
  28.         else:
  29.             return f'Cannot remove {amount} {item_name}'
  30.  
  31.     def __repr__(self):
  32.         return f'{self.name} of type {self.type} with capacity {self.capacity}'
  33.  
  34.  
  35. first_store = Store("First store", "Fruit and Veg", 20)
  36. second_store = Store.from_size("Second store", "Clothes", 500)
  37.  
  38. print(first_store)
  39. print(second_store)
  40.  
  41. print(first_store.add_item("potato"))
  42. print(second_store.add_item("jeans"))
  43. print(first_store.remove_item("tomatoes", 1))
  44. print(second_store.remove_item("jeans", 1))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement