From 3d6a65cae68f9bf83fd09050a5ef8b8fe3c7aebd Mon Sep 17 00:00:00 2001 From: Flavin324 Date: Wed, 21 Aug 2024 09:42:17 -0300 Subject: [PATCH 1/4] Simulando dois carros. alterando variaveis --- src/main.py | 59 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/src/main.py b/src/main.py index 49c199e..4656144 100644 --- a/src/main.py +++ b/src/main.py @@ -1,39 +1,52 @@ from frota import * +def controlar_carro(carro: Carro ): + print('1 -LIgar motor') + print('2 - Desligar motor') + print('3 - Acelerar') + + op = 0 + while op not in (1, 2 , 3): + op = int(input("Digite as opcoes[1-3]: ")) + if op == 1: + carro.ligar () + elif op == 2: + carro.desligar () + elif op == 3: + v = float(input("Informe a velocidade :")) + t = float(input("Informe o tempo :")) + carro.acelerar (v,t) + + print("Infos carro atual") + print(carro) if __name__ == "__main__": - print('Cadastre um carro') + print('Cadastre o primeiro carro') nm_modelo = input('Digite o modelo: ') nm_marca = input('Digite a marca: ') nm_cor = input('Digite a cor: ') - kms = float(input('Digite com quantos Kms: ')) + carro1 = Carro(nm_modelo, nm_marca, nm_cor, 0 ,False) - carro1 = Carro(nm_modelo, nm_marca, nm_cor, kms, motor = True) + print('Cadastre o segundo carro') + nm_modelo = input('Digite o modelo: ') + nm_marca = input('Digite a marca: ') + nm_cor = input('Digite a cor: ') + carro2 = Carro(nm_modelo, nm_marca, nm_cor, 0 ,False) ''' Controlando o carro até ele atingir 10000 Km ''' - while carro1.odometro < 10000: + while carro1.odometro < 600 and carro2.odometro < 600: try: - print('1- Ligar motor') - print('2- Desligar motor') - print('3- Acelerar') - - op = 0 - while op not in (1,2,3): - op = int(input("Digite as opcoes[1-3]: ")) - - if op == 1: - carro1.ligar() - elif op == 2: - carro1.desligar() - elif op == 3: - v = float(input("Informe a velocidade: ")) - t = float(input("Informe o tempo: ")) - carro1.acelerar(v, t) - - print('Infos atuais do carro') - print(carro1) + op_carro = 0 + while op_carro not in [1, 2]: + op_carro = int(input("Qual carro deseja controlar ? [1,2]:" )) + if op_carro == 1: + controlar_carro(carro1) + elif op_carro == 2: + controlar_carro(carro2) + + except Exception as e: print("Erro!") print(e) From c226090159fa33ad93927be79442e3464542c0f0 Mon Sep 17 00:00:00 2001 From: Flavin324 Date: Wed, 21 Aug 2024 10:51:41 -0300 Subject: [PATCH 2/4] Simulando dois carros. alterando variaveis como tanque e combu --- src/frota.py | 35 ++++++++++++++++++++++++----------- src/main.py | 14 +++++++------- 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/src/frota.py b/src/frota.py index a4b3891..4254f4f 100644 --- a/src/frota.py +++ b/src/frota.py @@ -1,29 +1,42 @@ class Carro: - modelo : str - marca : str - cor : str - odometro : 0.0 - motor_on : False + modelo: str + marca: str + cor: str + odometro: 0.0 + motor_on: False + tanque: 0.0 + consumo_medio : float def __init__(self, modelo : str, marca : str, cor : str, - odometro : float, motor : bool): + odometro : float, motor : bool, tanque : float, consumo_medio : float): self.modelo = modelo self.marca = marca self.cor = cor self.odometro = odometro self.motor_on = motor + self.tanque = tanque + self.consumo_medio = consumo_medio def ligar(self): - if not self.motor_on: + if not self.motor_on and self.tanque > 0: self.motor_on = True else: raise Exception("Erro: Motor já ligado!") def acelerar(self, velocidade : float, tempo : float): - if self.motor_on: - self.odometro += velocidade * tempo + if self.motor_on and self.tanque > 0: + km = velocidade * tempo + litros = km / self.consumo_medio + + if self.odometro >= km: + self. tanque -= litros + else: + km = litros * self.consumo_medio + self.tanque = 0 + self.desligar() + self.odometro += km else: - raise Exception("Erro: Não é possível acelerar! Motor desligado!") + raise Exception("Erro: Não é possível acelerar! Motor desligado!") def desligar(self): if self.motor_on: @@ -34,7 +47,7 @@ def desligar(self): def __str__(self): info = (f'Carro {self.modelo}, marca {self.marca}, ' f'cor {self.cor}\n{self.odometro} Km, ' - f'motor {self.motor_on}') + f'motor {self.motor_on} consumo {self.consumo_medio} km\l tanque{self.tanque}') return info diff --git a/src/main.py b/src/main.py index 4656144..8c9baab 100644 --- a/src/main.py +++ b/src/main.py @@ -24,19 +24,23 @@ def controlar_carro(carro: Carro ): nm_modelo = input('Digite o modelo: ') nm_marca = input('Digite a marca: ') nm_cor = input('Digite a cor: ') + litros = float(input('Litros do tanque: ')) + consu = float(input('Consumo medio: ')) - carro1 = Carro(nm_modelo, nm_marca, nm_cor, 0 ,False) + carro1 = Carro(nm_modelo, nm_marca, nm_cor, 0 ,False, litros, consu) print('Cadastre o segundo carro') nm_modelo = input('Digite o modelo: ') nm_marca = input('Digite a marca: ') nm_cor = input('Digite a cor: ') + litros = float(input('Litros do tanque: ')) + consu = float(input('Consumo medio: ')) - carro2 = Carro(nm_modelo, nm_marca, nm_cor, 0 ,False) + carro2 = Carro(nm_modelo, nm_marca, nm_cor, 0 ,False, litros, consu) ''' Controlando o carro até ele atingir 10000 Km ''' - while carro1.odometro < 600 and carro2.odometro < 600: + while carro1.odometro < 600 and carro2.odometro < 600 and (carro1.tanque > 0 or carro2.tanque > 0 ): try: op_carro = 0 while op_carro not in [1, 2]: @@ -51,7 +55,3 @@ def controlar_carro(carro: Carro ): print("Erro!") print(e) - carro1.desligar() - print(carro1) - print('Parar para trocar óleo!!!') - From 1593c51840d7a49fc2d4afd91d1468699a7a942c Mon Sep 17 00:00:00 2001 From: Flavin324 Date: Wed, 21 Aug 2024 10:51:41 -0300 Subject: [PATCH 3/4] Simulando dois carros. alterando variaveis como tanque e combu --- src/frota.py | 35 ++++++++++++++++++++++++----------- src/main.py | 14 +++++++------- 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/src/frota.py b/src/frota.py index a4b3891..4254f4f 100644 --- a/src/frota.py +++ b/src/frota.py @@ -1,29 +1,42 @@ class Carro: - modelo : str - marca : str - cor : str - odometro : 0.0 - motor_on : False + modelo: str + marca: str + cor: str + odometro: 0.0 + motor_on: False + tanque: 0.0 + consumo_medio : float def __init__(self, modelo : str, marca : str, cor : str, - odometro : float, motor : bool): + odometro : float, motor : bool, tanque : float, consumo_medio : float): self.modelo = modelo self.marca = marca self.cor = cor self.odometro = odometro self.motor_on = motor + self.tanque = tanque + self.consumo_medio = consumo_medio def ligar(self): - if not self.motor_on: + if not self.motor_on and self.tanque > 0: self.motor_on = True else: raise Exception("Erro: Motor já ligado!") def acelerar(self, velocidade : float, tempo : float): - if self.motor_on: - self.odometro += velocidade * tempo + if self.motor_on and self.tanque > 0: + km = velocidade * tempo + litros = km / self.consumo_medio + + if self.odometro >= km: + self. tanque -= litros + else: + km = litros * self.consumo_medio + self.tanque = 0 + self.desligar() + self.odometro += km else: - raise Exception("Erro: Não é possível acelerar! Motor desligado!") + raise Exception("Erro: Não é possível acelerar! Motor desligado!") def desligar(self): if self.motor_on: @@ -34,7 +47,7 @@ def desligar(self): def __str__(self): info = (f'Carro {self.modelo}, marca {self.marca}, ' f'cor {self.cor}\n{self.odometro} Km, ' - f'motor {self.motor_on}') + f'motor {self.motor_on} consumo {self.consumo_medio} km\l tanque{self.tanque}') return info diff --git a/src/main.py b/src/main.py index 4656144..8c9baab 100644 --- a/src/main.py +++ b/src/main.py @@ -24,19 +24,23 @@ def controlar_carro(carro: Carro ): nm_modelo = input('Digite o modelo: ') nm_marca = input('Digite a marca: ') nm_cor = input('Digite a cor: ') + litros = float(input('Litros do tanque: ')) + consu = float(input('Consumo medio: ')) - carro1 = Carro(nm_modelo, nm_marca, nm_cor, 0 ,False) + carro1 = Carro(nm_modelo, nm_marca, nm_cor, 0 ,False, litros, consu) print('Cadastre o segundo carro') nm_modelo = input('Digite o modelo: ') nm_marca = input('Digite a marca: ') nm_cor = input('Digite a cor: ') + litros = float(input('Litros do tanque: ')) + consu = float(input('Consumo medio: ')) - carro2 = Carro(nm_modelo, nm_marca, nm_cor, 0 ,False) + carro2 = Carro(nm_modelo, nm_marca, nm_cor, 0 ,False, litros, consu) ''' Controlando o carro até ele atingir 10000 Km ''' - while carro1.odometro < 600 and carro2.odometro < 600: + while carro1.odometro < 600 and carro2.odometro < 600 and (carro1.tanque > 0 or carro2.tanque > 0 ): try: op_carro = 0 while op_carro not in [1, 2]: @@ -51,7 +55,3 @@ def controlar_carro(carro: Carro ): print("Erro!") print(e) - carro1.desligar() - print(carro1) - print('Parar para trocar óleo!!!') - From ae97d7aa72776ee39083f96e7812a04aa89b4480 Mon Sep 17 00:00:00 2001 From: Flavin324 Date: Wed, 28 Aug 2024 09:05:44 -0300 Subject: [PATCH 4/4] Merge remote-tracking branch 'origin/main_tanuqe' into main_tanuqe --- src/frota.py | 38 ++++++++++++++++++++------------------ src/main.py | 10 ++++------ 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/frota.py b/src/frota.py index 4254f4f..3479c71 100644 --- a/src/frota.py +++ b/src/frota.py @@ -2,39 +2,40 @@ class Carro: modelo: str marca: str cor: str - odometro: 0.0 - motor_on: False - tanque: 0.0 + __odometro: 0.0 + __motor_on: False + __tanque: 0.0 consumo_medio : float - def __init__(self, modelo : str, marca : str, cor : str, - odometro : float, motor : bool, tanque : float, consumo_medio : float): + def __init__(self, modelo: str, marca: str, cor: str, + odometro: float, motor: bool, tanque: float, consumo_medio: float): self.modelo = modelo self.marca = marca self.cor = cor - self.odometro = odometro - self.motor_on = motor - self.tanque = tanque + self.__odometro = odometro + self.__motor_on = motor + self.__tanque = tanque self.consumo_medio = consumo_medio def ligar(self): - if not self.motor_on and self.tanque > 0: + if not self.motor_on and self.__tanque > 0: self.motor_on = True else: raise Exception("Erro: Motor já ligado!") - + def get_tanque(self): + return self.__tanque def acelerar(self, velocidade : float, tempo : float): - if self.motor_on and self.tanque > 0: + if self.motor_on and self.__tanque > 0: km = velocidade * tempo litros = km / self.consumo_medio - if self.odometro >= km: - self. tanque -= litros + if self.__odometro >= km: + self. __tanque -= litros else: km = litros * self.consumo_medio - self.tanque = 0 + self.__tanque = 0 self.desligar() - self.odometro += km + self.__odometro += km else: raise Exception("Erro: Não é possível acelerar! Motor desligado!") @@ -43,11 +44,12 @@ def desligar(self): self.motor_on = False else: raise Exception("Erro: Motor já desligado!") - + def get_odometro(self): + return self.__odometro def __str__(self): info = (f'Carro {self.modelo}, marca {self.marca}, ' - f'cor {self.cor}\n{self.odometro} Km, ' - f'motor {self.motor_on} consumo {self.consumo_medio} km\l tanque{self.tanque}') + f'cor {self.cor}\n{self.__odometro} Km, ' + f'motor {self.motor_on} consumo {self.consumo_medio} km\l __tanque{self.__tanque}') return info diff --git a/src/main.py b/src/main.py index 8c9baab..70b3fa1 100644 --- a/src/main.py +++ b/src/main.py @@ -40,18 +40,16 @@ def controlar_carro(carro: Carro ): ''' Controlando o carro até ele atingir 10000 Km ''' - while carro1.odometro < 600 and carro2.odometro < 600 and (carro1.tanque > 0 or carro2.tanque > 0 ): + while carro1.get_odometro() < 600 and carro2.get_odometro() < 600 and (carro1.get_tanque() > 0) or (carro2.get_tanque() > 0): try: op_carro = 0 while op_carro not in [1, 2]: - op_carro = int(input("Qual carro deseja controlar ? [1,2]:" )) + op_carro = int(input("Qual carro deseja controlar ? [1,2]:")) if op_carro == 1: controlar_carro(carro1) elif op_carro == 2: controlar_carro(carro2) - except Exception as e: - print("Erro!") - print(e) - + print("Erro") + print(e) \ No newline at end of file