1
resposta

Meu Exercício - adicionei um método para mostrar todos os carros

main.py

from modelos.carro import Carro

carro_audi = Carro('Audi', 'A8', 'branco')
carro_bmw = Carro('BMW', 'M8', 'azul')
carro_mercedes = Carro('Mercedes', 'S500', 'cinza')

def main():
    Carro.exibir_carros()
    print('\n')
    carro_audi.ligar()

if __name__ == '__main__':
    main()

carro.py

from modelos.veiculo import Veiculo

class Carro(Veiculo):
    carros = []

    def __init__(self, marca, modelo, cor):
        super().__init__(marca, modelo)
        self._cor = cor
        Carro.carros.append(self)

    def __str__(self):
        return f'Marca: {self._marca.ljust(15)} | Modelo: {self._modelo.ljust(15)} | Cor: {self._cor}'
    
    def ligar(self):
        print(f' O carro {self._marca} {self._modelo} está ligado')    

    @classmethod
    def exibir_carros(cls):
        if not cls.carros:
            print('Nenhum carro registrado.')
            return
        print('Veículos disponíveis')
        print(f'ID | {"Marca":^15} | {"Modelo":^15} | {"Cor":^15}')
        for i, carro in enumerate(cls.carros, start=1):
            print(f'{str(i).ljust(2)} | {carro._marca.ljust(15)} | {carro._modelo.ljust(15)} | {carro._cor}')
        

veiculo.py

from abc import ABC, abstractmethod

class Veiculo(ABC):
    def __init__(self, marca, modelo):
        self._marca = marca
        self._modelo = modelo

    @abstractmethod
    def ligar(self):
        pass
1 resposta

Oi, Renan! Tudo bem?

Parabéns pela adição do método para exibir todos os carros instanciados, é uma ótima prática, pois permite que você veja todos os carros que foram criados de uma só vez. Obrigada por ter compartilhado o código com a nossa comunidade! Caso tenha ficado alguma dúvida em relação ao curso ou atividade, sinta-se à vontade em comunicar, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!