Skip to content

Instantly share code, notes, and snippets.

@renzon
Created June 1, 2017 02:53
Show Gist options
  • Save renzon/a474a249a16e7727a7c72a1a7b4d3142 to your computer and use it in GitHub Desktop.
Save renzon/a474a249a16e7727a7c72a1a7b4d3142 to your computer and use it in GitHub Desktop.
class _Opcao:
def retorno_da_aposta(self):
raise not NotImplementedError()
class _Casa(_Opcao):
def retorno_da_aposta(self):
"""Estrategia de aposta em casa"""
return 'Casa'
class _Fora(_Opcao):
def retorno_da_aposta(self):
"""Estrategia de aposta fora"""
return 'Fora'
OPCOES = [_Casa, _Fora]
class Aposta:
"""Isso seria um modelo do app engine"""
def __init__(self, estrategia):
# No modelo real isso seria uma property do modelo e o numero de
# estrategias possiveis poderia ser colocado no "choices" da
# propriedade
# Assim nenhum valor fora do range seria aceito
self.estrategia = estrategia
def calcular(self):
opcao_classe = OPCOES[self.estrategia]
opcao = opcao_classe()
return opcao.retorno_da_aposta()
if __name__ == '__main__':
for aposta in (Aposta(0), Aposta(1)):
print(aposta.calcular())
@CharlesTenorio
Copy link

obrigado meu amigo!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment