1
resposta

[Projeto] Minha solução

Olá, tudo bem?

modelos/veiculo.py

class Veiculo:
    def __init__(self, marca, modelo):
        self.marca = marca
        self.modelo = modelo
        self._ligado = False

    @property
    def ligado(self):
        return 'Ligado' if self._ligado else 'Desligado'

    def __str__(self):
        return f'Marca: {self.marca.ljust(15)} | Modelo: {self.modelo.ljust(15)} | Ligado/desligado: {self.ligado.ljust(10)}'

modelos/carro.py

from modelos.veiculo import Veiculo

class Carro(Veiculo):
    def __init__(self, marca, modelo, quantidade_de_portas):
        super().__init__(marca, modelo)
        self.quantidade_de_portas = quantidade_de_portas
    
    def __str__(self):
        return f'Carro - {super().__str__()} | quantidade de portas: {self.quantidade_de_portas}'

modelos/moto.py

from modelos.veiculo import Veiculo

class Moto(Veiculo):
    def __init__(self, marca, modelo, tipo):
        super().__init__(marca, modelo)
        self.marca = marca
        self.modelo = modelo
        self.tipo = tipo

    def __str__(self):
        return f'Moto - {super().__str__()} | tipo: {self.tipo}'

main.py

from modelos.carro import Carro
from modelos.moto import Moto

def main():
    carro1 = Carro('marca1', 'modelo1', 4)
    carro2 = Carro('marca2', 'modelo2', 2)    
    moto1 = Moto('marca1', 'modelo1', 'esportiva')
    moto2 = Moto('marca2', 'modelo2', 'casual')

    print(carro1)
    print(carro2)
    print(moto1)
    print(moto2)

if __name__ == '__main__':
    main()
1 resposta

Olá, Roberto! Tudo certo?

Super bacana os seus códigos, parabéns pela elaboração e obrigada por tê-lo compartilhado com a nossa comunidade! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!