diff --git a/oo/__init__.py b/oo/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/oo/carro.py b/oo/carro.py new file mode 100644 index 000000000..636875054 --- /dev/null +++ b/oo/carro.py @@ -0,0 +1,129 @@ +""" Doctests + >>> # Testando motor + >>> motor = Motor() + >>> motor.velocidade + 0 + >>> motor.acelerar() + >>> motor.velocidade + 1 + >>> motor.acelerar() + >>> motor.velocidade + 2 + >>> motor.acelerar() + >>> motor.velocidade + 3 + >>> motor.frear() + >>> motor.velocidade + 1 + >>> motor.frear() + >>> motor.velocidade + 0 + >>> # Testando Direcao + >>> direcao = Direcao() + >>> direcao.valor + 'Norte' + >>> direcao.girar_a_direita() + >>> direcao.valor + 'Leste' + >>> direcao.girar_a_direita() + >>> direcao.valor + 'Sul' + >>> direcao.girar_a_direita() + >>> direcao.valor + 'Oeste' + >>> direcao.girar_a_direita() + >>> direcao.valor + 'Norte' + >>> direcao.girar_a_esquerda() + >>> direcao.valor + 'Oeste' + >>> direcao.girar_a_esquerda() + >>> direcao.valor + 'Sul' + >>> direcao.girar_a_esquerda() + >>> direcao.valor + 'Leste' + >>> direcao.girar_a_esquerda() + >>> direcao.valor + 'Norte' + >>> carro = Carro(direcao, motor) + >>> carro.calcular_velocidade() + 0 + >>> carro.acelerar() + >>> carro.calcular_velocidade() + 1 + >>> carro.acelerar() + >>> carro.calcular_velocidade() + 2 + >>> carro.frear() + >>> carro.calcular_velocidade() + 0 + >>> carro.calcular_direcao() + 'Norte' + >>> carro.girar_a_direita() + >>> carro.calcular_direcao() + 'Leste' + >>> carro.girar_a_esquerda() + >>> carro.calcular_direcao() + 'Norte' + >>> carro.girar_a_esquerda() + >>> carro.calcular_direcao() + 'Oeste' + +""" +NORTE = 'Norte' +LESTE = 'Leste' +OESTE = 'Oeste' +SUL = 'Sul' + +class Carro(): + def __init__(self,direcao,motor): + self.motor = motor + self.direcao = direcao + + def calcular_velocidade(self): + return self.motor.velocidade + + def acelerar(self): + self.motor.acelerar() + + def frear(self): + self.motor.frear() + + def calcular_direcao(self): + return self.direcao.valor + + def girar_a_direita(self): + self.direcao.girar_a_direita() + + def girar_a_esquerda(self): + self.direcao.girar_a_esquerda() + +class Motor(): + def __init__(self): + self.velocidade = 0 + + def acelerar(self): + self.velocidade += 1 + + def frear(self): + self.velocidade -= 2 + self.velocidade = max(0,self.velocidade) + + +class Direcao(): + rotaciona_direita_dict = {NORTE:LESTE,LESTE:SUL,SUL:OESTE,OESTE:NORTE} + rotaciona_esquerda_dict = {NORTE: OESTE, OESTE: SUL, SUL: LESTE, LESTE: NORTE} + + def __init__(self): + self.valor = NORTE + + def girar_a_direita(self): + self.valor = self.rotaciona_direita_dict[self.valor] + + def girar_a_esquerda(self): + self.valor = self.rotaciona_esquerda_dict[self.valor] + + +if __name__ == "__main__": + pass diff --git a/oo/pessoa b/oo/pessoa new file mode 100644 index 000000000..499c00332 --- /dev/null +++ b/oo/pessoa @@ -0,0 +1,11 @@ +class Pessoa: + def __init__(self,*filhos,nome = None): + self.nome = nome + self.filhos = list(filhos) + def cumprimentar(self): + return f"Olá, sou a pessoa {id(self)} na memória :)" + +if __name__ == "__main__": + p = Pessoa("Nina",nome = "Maykon") + print(p.cumprimentar()) + print(p.filhos) \ No newline at end of file