fork download
  1. class Item:
  2. def __init__(self, name, description=""):
  3. self.name = name
  4. self.description = description
  5.  
  6. def __str__(self):
  7. return self.name
  8.  
  9. class Inventory:
  10. def __init__(self, capacity=10):
  11. self.items = []
  12. self.capacity = capacity
  13.  
  14. def add_item(self, item):
  15. if len(self.items) < self.capacity:
  16. self.items.append(item)
  17. print(f"You picked up a {item.name}.")
  18. return True
  19. else:
  20. print("Your inventory is full!")
  21. return False
  22.  
  23. def remove_item(self, item_name):
  24. for item in self.items:
  25. if item.name.lower() == item_name.lower():
  26. self.items.remove(item)
  27. print(f"You dropped the {item.name}.")
  28. return True
  29. print(f"You don't have a {item_name} to drop.")
  30. return False
  31.  
  32. def list_items(self):
  33. if not self.items:
  34. print("Your inventory is empty.")
  35. else:
  36. print("--- Your Inventory ---")
  37. for item in self.items:
  38. print(f"- {item.name}")
  39. print("--------------------")
  40.  
  41. # --- Example Usage ---
  42. if __name__ == "__main__":
  43. player_inventory = Inventory(capacity=5)
  44.  
  45. # Create some items
  46. sword = Item("Sword", "A sharp blade.")
  47. potion = Item("Healing Potion", "Restores health.")
  48. shield = Item("Wooden Shield")
  49. gold_coin = Item("Gold Coin")
  50. old_boot = Item("Old Boot")
  51. rock = Item("Small Rock")
  52.  
  53. # Add items to inventory
  54. player_inventory.add_item(sword)
  55. player_inventory.add_item(potion)
  56. player_inventory.add_item(shield)
  57. player_inventory.add_item(gold_coin)
  58. player_inventory.add_item(old_boot)
  59. player_inventory.add_item(rock) # This should fail as inventory is full
  60.  
  61. player_inventory.list_items()
  62.  
  63. # Remove an item
  64. player_inventory.remove_item("potion")
  65. player_inventory.list_items()
  66.  
  67. # Try to remove an item not in inventory
  68. player_inventory.remove_item("axe")
  69.  
  70. # Add an item after making space
  71. player_inventory.add_item(rock)
  72. player_inventory.list_items()
  73.  
Success #stdin #stdout 0.03s 25260KB
stdin
Standard input is empty
stdout
class Item:
    def __init__(self, name, description=""):
        self.name = name
        self.description = description

    def __str__(self):
        return self.name

class Inventory:
    def __init__(self, capacity=10):
        self.items = []
        self.capacity = capacity

    def add_item(self, item):
        if len(self.items) < self.capacity:
            self.items.append(item)
            print(f"You picked up a {item.name}.")
            return True
        else:
            print("Your inventory is full!")
            return False

    def remove_item(self, item_name):
        for item in self.items:
            if item.name.lower() == item_name.lower():
                self.items.remove(item)
                print(f"You dropped the {item.name}.")
                return True
        print(f"You don't have a {item_name} to drop.")
        return False

    def list_items(self):
        if not self.items:
            print("Your inventory is empty.")
        else:
            print("--- Your Inventory ---")
            for item in self.items:
                print(f"- {item.name}")
            print("--------------------")

# --- Example Usage ---
if __name__ == "__main__":
    player_inventory = Inventory(capacity=5)

    # Create some items
    sword = Item("Sword", "A sharp blade.")
    potion = Item("Healing Potion", "Restores health.")
    shield = Item("Wooden Shield")
    gold_coin = Item("Gold Coin")
    old_boot = Item("Old Boot")
    rock = Item("Small Rock")

    # Add items to inventory
    player_inventory.add_item(sword)
    player_inventory.add_item(potion)
    player_inventory.add_item(shield)
    player_inventory.add_item(gold_coin)
    player_inventory.add_item(old_boot)
    player_inventory.add_item(rock) # This should fail as inventory is full

    player_inventory.list_items()

    # Remove an item
    player_inventory.remove_item("potion")
    player_inventory.list_items()

    # Try to remove an item not in inventory
    player_inventory.remove_item("axe")

    # Add an item after making space
    player_inventory.add_item(rock)
    player_inventory.list_items()