From 83043b001411e6f076d9c194abd335422ef609bb Mon Sep 17 00:00:00 2001 From: itiro Date: Thu, 7 Jan 2021 14:40:57 -0300 Subject: [PATCH 1/6] =?UTF-8?q?Cria=C3=A7=C3=A3o=20classe=20pessoa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oo/__init__.py | 0 oo/pessoa.py | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 oo/__init__.py create mode 100644 oo/pessoa.py diff --git a/oo/__init__.py b/oo/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/oo/pessoa.py b/oo/pessoa.py new file mode 100644 index 000000000..e1da50e22 --- /dev/null +++ b/oo/pessoa.py @@ -0,0 +1,2 @@ +class Pessoa: + pass \ No newline at end of file From ade57a14aa387d93fcf802e7d3d58e7a69d96b55 Mon Sep 17 00:00:00 2001 From: itiro Date: Thu, 7 Jan 2021 14:48:18 -0300 Subject: [PATCH 2/6] =?UTF-8?q?Cria=C3=A7=C3=A3o=20m=C3=A9todo=20cumprimen?= =?UTF-8?q?tar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oo/pessoa.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/oo/pessoa.py b/oo/pessoa.py index e1da50e22..f9cc586bb 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -1,2 +1,10 @@ class Pessoa: - pass \ No newline at end of file + def cumprimentar(self): + return f'Olá {id(self)}' + + +if __name__ == '__main__': + p = Pessoa() + print(Pessoa.cumprimentar(p)) + print(id(p)) + print(p.cumprimentar()) From 78a7eadf11573ea59fae7ab81bda99f30718c3d6 Mon Sep 17 00:00:00 2001 From: itiro Date: Thu, 7 Jan 2021 15:11:15 -0300 Subject: [PATCH 3/6] =?UTF-8?q?Cria=C3=A7=C3=A3o=20m=C3=A9todo=20cumprimen?= =?UTF-8?q?tar=20e=20atributos=20nome=20e=20idade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oo/pessoa.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/oo/pessoa.py b/oo/pessoa.py index f9cc586bb..b045611f7 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -1,10 +1,16 @@ class Pessoa: + def __init__(self, nome=None, idade=47): + self.nome = nome + def cumprimentar(self): return f'Olá {id(self)}' if __name__ == '__main__': - p = Pessoa() + p = Pessoa('Itiro') print(Pessoa.cumprimentar(p)) print(id(p)) print(p.cumprimentar()) + print(p.nome) + p.nome = 'Alexandre' + print(p.nome) From a35eae422f0203c0931f5e0ff7369ab64659f048 Mon Sep 17 00:00:00 2001 From: itiro Date: Thu, 7 Jan 2021 21:07:11 -0300 Subject: [PATCH 4/6] =?UTF-8?q?Corre=C3=A7=C3=A3o=20atributo=20idade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oo/pessoa.py | 1 + 1 file changed, 1 insertion(+) diff --git a/oo/pessoa.py b/oo/pessoa.py index b045611f7..4dbd95464 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -1,6 +1,7 @@ class Pessoa: def __init__(self, nome=None, idade=47): self.nome = nome + self.idade = idade def cumprimentar(self): return f'Olá {id(self)}' From de85dd7cee32185271bb065913fd5c1bf2f239cb Mon Sep 17 00:00:00 2001 From: itiro Date: Thu, 28 Jan 2021 07:34:48 -0300 Subject: [PATCH 5/6] Atributo complexo filhos --- oo/pessoa.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/oo/pessoa.py b/oo/pessoa.py index 4dbd95464..d50c5b128 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -1,17 +1,19 @@ class Pessoa: - def __init__(self, nome=None, idade=47): + def __init__(self, nome=None, idade=47, *filhos): self.nome = nome self.idade = idade + self.filhos = list(filhos) def cumprimentar(self): return f'Olá {id(self)}' if __name__ == '__main__': - p = Pessoa('Itiro') - print(Pessoa.cumprimentar(p)) - print(id(p)) - print(p.cumprimentar()) - print(p.nome) - p.nome = 'Alexandre' - print(p.nome) + alex = Pessoa(nome='Alex') + itiro = Pessoa('Itiro', 47, alex) + print(Pessoa.cumprimentar(itiro)) + print(id(itiro)) + print(itiro.cumprimentar()) + print(itiro.nome) + for filho in itiro.filhos: + print(filho.nome) From 08ea8039af20ff9ced84898fe7d4e1ae03de7efa Mon Sep 17 00:00:00 2001 From: itiro Date: Thu, 28 Jan 2021 16:49:43 -0300 Subject: [PATCH 6/6] =?UTF-8?q?Solucao=20inicial=20exerc=C3=ADcio=20Carros?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oo/carro.py | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 oo/carro.py diff --git a/oo/carro.py b/oo/carro.py new file mode 100644 index 000000000..c71b0e4c7 --- /dev/null +++ b/oo/carro.py @@ -0,0 +1,104 @@ +class Motor: + + def __init__(self, velocidade = 0): + self.velocidade = velocidade + + def acelerar(self): + self.velocidade += 1 + + def frear(self): + self.velocidade = 0 if self.velocidade <= 2 else self.velocidade - 2 + + +class Direcao: + direcoes = ("Norte", "Leste", "Sul", "Oeste") + + def __init__(self, direcao = "Norte"): + if direcao in self.direcoes: + self.valor = direcao + self.indDirecao = self.direcoes.index(direcao) + else: + print("Direcao: {0} inválida!".format(direcao)) + + def girar_a_direita(self): + self.indDirecao = 0 if self.indDirecao == 3 else self.indDirecao + 1 + self.valor = self.direcoes[self.indDirecao] + + def girar_a_esquerda(self): + self.indDirecao = 3 if self.indDirecao == 0 else self.indDirecao -1 + self.valor = self.direcoes[self.indDirecao] + +class Carro: + + def __init__(self, motor = Motor(), direcao = Direcao()): + self.motor = motor + self.direcao = direcao + + def calcular_velocidade(self): + print(self.motor.velocidade) + + def calcular_direcao(self): + print(self.direcao.valor) + + def acelerar(self): + self.motor.acelerar() + + def frear(self): + self.motor.frear() + + def girar_a_direita(self): + self.direcao.girar_a_direita() + + def girar_a_esquerda(self): + self.direcao.girar_a_esquerda() + + +if __name__ == '__main__': + motor = Motor() + print(motor.velocidade) + motor.acelerar() + print(motor.velocidade) + motor.acelerar() + print(motor.velocidade) + motor.acelerar() + print(motor.velocidade) + motor.frear() + print(motor.velocidade) + motor.frear() + print(motor.velocidade) + + direcao = Direcao() + print(direcao.valor) + direcao.girar_a_direita() + print(direcao.valor) + direcao.girar_a_direita() + print(direcao.valor) + direcao.girar_a_direita() + print(direcao.valor) + direcao.girar_a_direita() + print(direcao.valor) + direcao.girar_a_esquerda() + print(direcao.valor) + direcao.girar_a_esquerda() + print(direcao.valor) + direcao.girar_a_esquerda() + print(direcao.valor) + direcao.girar_a_esquerda() + print(direcao.valor) + + carro = Carro(motor, direcao) + carro.calcular_velocidade() + carro.acelerar() + carro.calcular_velocidade() + carro.acelerar() + carro.calcular_velocidade() + carro.frear() + carro.calcular_velocidade() + carro.calcular_direcao() + carro.girar_a_direita() + carro.calcular_direcao() + carro.girar_a_esquerda() + carro.calcular_direcao() + carro.girar_a_esquerda() + carro.calcular_direcao() +