Skip to content

Instantly share code, notes, and snippets.

@ramalho
Last active August 29, 2015 13:58
Show Gist options
  • Save ramalho/10209715 to your computer and use it in GitHub Desktop.
Save ramalho/10209715 to your computer and use it in GitHub Desktop.
Solução do Leonardo Couy
from random import shuffle
class Tombola(object):
from inplace import pairswap # LR: esse import é desnecessário, e este é um lugar estranho para fazer imports
'''Sorteia itens sem repetir'''
def carregar(self, seq):
self.itens = list(seq)
def misturar(self, misturadora = None): # segundo o PEP-8, não se coloca espalos ao redor do = ao declarar argumentos (só em atribuições)
if misturadora is None: # LR: sim, essa é a melhor forma de fazer este teste!
shuffle(self.itens)
else:
misturadora(self.itens)
def sortear(self):
return self.itens.pop()
def carregada(self):
return bool(self.itens)
def __repr__(self):
return self.itens
def __iter__(self):
return iter(self.itens[::-1])
class Tombola(object):
'''IMPLEMENTACAO COM BUG!!!'''
def __init__(self, seq):
self.itens = list(seq)
def carregar(self, seq):
self.itens.extend(seq)
def sortear(self):
return self.itens.pop()
def carregada(self):
return bool(self.itens)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment