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()
Standard input is empty
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()