<gh_stars>0
import abc
from abc import abstractmethod

class Tombola(abc.ABC):

    @abstractmethod
    def load(self, iterable):
        """Add itens from an iterable"""

    @abstractmethod
    def pick(self):
        """Remove item at random, returning it.

        This method should raise 'LookupError' when instance is empy
        """

    def loaded(self):
        """Return True if there's at least 1 item, False otherwise"""
        return bool(self.inspect())

    def inspect(self):
        """Return a sorted tuple with the items currently inside."""
        items = []
        while True:
            try:
                items.append(self.pick())
            except LookupError:
                break
        self.load(items)
        return tuple(sorted(items))




import abc
from abc import abstractmethod

class Tombola(abc.ABC):

    @abstractmethod
    def load(self, iterable):
        """Add itens from an iterable"""

    @abstractmethod
    def pick(self):
        """Remove item at random, returning it.

        This method should raise 'LookupError' when instance is empy
        """

    def loaded(self):
        """Return True if there's at least 1 item, False otherwise"""
        return bool(self.inspect())

    def inspect(self):
        """Return a sorted tuple with the items currently inside."""
        items = []
        while True:
            try:
                items.append(self.pick())
            except LookupError:
                break
        self.load(items)
        return tuple(sorted(items))
Add itens from an iterable Remove item at random, returning it.          This method should raise 'LookupError' when instance is empy Return True if there's at least 1 item, False otherwise Return a sorted tuple with the items currently inside.