class PetShop:
def __init__(self, name: str):
self.name = name
self.food = {}
self.pets = []
def add_food(self, name: str, quantity: float):
if quantity <= 0:
raise ValueError('Quantity cannot be equal to or less than 0')
if name not in self.food:
self.food[name] = 0
self.food[name] += quantity
return f"Successfully added {quantity:.2f} grams of {name}."
def add_pet(self, name: str):
if name not in self.pets:
self.pets.append(name)
return f"Successfully added {name}."
raise Exception("Cannot add a pet with the same name")
def feed_pet(self, food_name: str, pet_name: str):
if pet_name not in self.pets:
raise Exception(f"Please insert a valid pet name")
if food_name not in self.food:
return f'You do not have {food_name}'
if self.food[food_name] < 100:
self.add_food(food_name, 1000.00)
return "Adding food..."
self.food[food_name] -= 100
return f"{pet_name} was successfully fed"
def __repr__(self):
return f'Shop {self.name}:\n' \
f'Pets: {", ".join(self.pets)}'