1
resposta

Meu Código

#Não incluí o __str__ com a condição direto nele conforme mostra o professor, pois tenho que me policiar e fazer essa aplicação nas próximas oportunidades.
#___________________________________________
class Veiculo:
    def __init__(self, marca, modelo):
        self.marca = marca
        self.modelo = modelo
        self._ligado = False
    
    @property
    def ligado(self):
        # if self._ligado == False:
        #     return 'Desigado'
        # else:
        #     return 'Ligado'
        return 'Ligado' if self._ligado else 'Desligado' #sugestão do colega @Gabriel Zarro Teixeira Silva Pinto 
    
    def __str__(self):
        return f'Marca: {self.marca.ljust(17)}|Modelo: {self.modelo.ljust(17)}|Status: {self.ligado.ljust(10)}'
#___________________________________________
from veiculo import Veiculo

class Carro(Veiculo):
    def __init__(self, marca, modelo, portas):
        super().__init__(marca, modelo)
        self.portas = portas

    def __str__(self):
        return f'{super().__str__()}|Portas: {self.portas}'
#___________________________________________
from veiculo import Veiculo

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

    def __str__(self):
        return f'{super().__str__()}|Tipo: {self.tipo}'
#___________________________________________
from carro import Carro
from moto import Moto

moto_1 = Moto('Honda', 'CG150', 'Street')
moto_2 = Moto('Suzuki', 'V-Strom', 'Trail')
moto_3 = Moto('Harley-Davidson', 'Sportster','Custom')
carro_1 = Carro('Dogde', 'Ram 2500', 4)
carro_2 = Carro('Dodge', 'Charger HellCat', 2)
carro_3 = Carro('Dodge', 'Viper', 2)

print('*' * 30)
print('Motos:')
print(moto_1)
print(moto_2)
print(moto_3)
print()
print('*' * 30)
print('Carros:')
print(carro_1)
print(carro_2)
print(carro_3)

******************************
Motos:
Marca: Honda                   |Modelo: CG150            |Status: Desligado |Tipo: Street
Marca: Suzuki                   |Modelo: V-Strom          |Status: Desligado |Tipo: Trail
Marca: Harley-Davidson |Modelo: Sportster        |Status: Desligado |Tipo: Custom

******************************
Carros:
Marca: Dogde            |Modelo: Ram 2500            |Status: Desligado |Portas: 4
Marca: Dodge            |Modelo: Charger HellCat  |Status: Desligado |Portas: 2
Marca: Dodge            |Modelo: Viper                     |Status: Desligado |Portas: 2
1 resposta

Oi, Thiago! Tudo bem?

Ótimo trabalho na implementação das classes e na herança, o código está bem organizado e fácil de entender! Obrigada por compartilhar o seu projeto com a gente aqui no fórum, caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!