Created
June 1, 2017 02:53
-
-
Save renzon/a474a249a16e7727a7c72a1a7b4d3142 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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()) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
obrigado meu amigo!!