1
resposta

Exercício Classe Carro

Também senti falta de mais exercícios para treinar o aprendizado do curso por aqui. Então segui a sugestão dada em outro tópico dos exercícios do site PythonBrasil - Exercícios de Classes (https://wiki.python.org.br/ExerciciosClasses) e realizei o exercício 11 para a criação da Classe Carro.

Vou deixar abaixo o código que criei utilizando o que aprendi aqui no curso de classes. Acredito que esteja funcionando corretamente.

class Carro:

    def __init__(self, consumo, kilometragem, capacidade_tanque):
        self.__consumo = consumo                      # km/litro
        self.__kilometragem = kilometragem            # Km atual do carro
        self.__capacidade_tanque = capacidade_tanque  # definir quantidade de combustível que cabe no tanque
        self.__combustivel_no_tanque = 0              # carro começa com tanque sem combustível

    def __verifica_tanque(self, valor):
        if ((self.__combustivel_no_tanque + valor) <= self.__capacidade_tanque): # verifica se o combustível vai caber no tanque
            return valor
        else:   #se não couber, vai completar o tanque
            return (self.__capacidade_tanque - self.__combustivel_no_tanque) #retorna o que ainda cabe no tanque

    def abastecer(self, volume):   # abastecer o carro com valor solicitado ou completar a capacidade
        abastecer = self.__verifica_tanque(volume)
        self.__combustivel_no_tanque += abastecer
        print("Tanque abastecido com {} litros de combustível. Seu tanque agora tem {} litros".format(abastecer, self.__combustivel_no_tanque))

    def __pode_andar(self, kilometragem):  # verifica se a quantidade de combustível no tanque é suficiente para rodar os Km solicitados
        consumo = (kilometragem / self.__consumo) # litros que serão gastos na quilometragem percorrida
        return (self.__capacidade_tanque >= consumo)

    def andar(self, km): #Roda os km e adiciona no odometro do carro / reduz o combustível do tanque
        if (self.__pode_andar(km)):
            self.__kilometragem += km
            self.__combustivel_no_tanque -= (km / self.__consumo)
        else:
            print("Combustível insuficiente para andar {}Km".format(km))

    def tanque(self): #imprime a quantidade de litros que tem no tanque
        print("Restam {} litros no tanque de combustível".format(self.__combustivel_no_tanque))

    #propriedades da Classe Carro
    @property
    def consumo(self):
        return self.__consumo

    @property
    def capacidade_tanque(self):
        return self.__capacidade_tanque

    @property
    def kilometragem(self):
        return self.__kilometragem

    @property
    def combustiven_no_tanque(self):
        return self.__combustivel_no_tanque

Aceito correções ou sugestões de melhorias se necessário. Fica aqui uma opção para que outros alunos também possam exercitar os conhecimentos do curso.

Obrigado e bons estudos

1 resposta

Caramba quanta coisa kkkkk, muito bom Dailton, vou usar isso como inspiração e praticar um pouco, obrigado por compartilhar o link do python BR :)