2
respostas

[Dúvida] Portas - não entendi esse erro

PS C:\Users\User\Desktop\Ex-Python> python main.py
Toyota Corolla - Status: desligado
Honda Civic - Status: desligado
Ford Fusion - Status: desligado
Harley-Davidson Street 750 - Status: desligado
Honda CB 500 - Status: desligado
Yamaha MT-09 - Status: desligado
PS C:\Users\User\Desktop\Ex-Python> 

Não apareceu as quantidades de portas.

from veiculo import Veiculo

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

def __str__(self):
        status = 'ligado' if self._ligado else "desligado"
        return f'{self._marca} {self._modelo} - Portas: {self.portas} - Status: {status}'

Já comparei com a resposta do exercício, mas não estou achando o erro.

2 respostas

Já descobri o erro, foi a indentação que estava errada. Só estava usando a classe pai. Agora corrigi e deu tudo certo.

class Veiculo:
    def __init__(self,marca,modelo):
        self._marca = marca
        self._modelo = modelo
        self._ligado = False
    
    def __str__(self):
        status = 'ligado' if self._ligado else "desligado"
        return f'{self._marca} {self._modelo} - Status: {status}'

  from veiculo import Veiculo

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

    def __str__(self):
        status = 'ligado' if self._ligado else "desligado"
        return f'{self._marca} {self._modelo} - Portas: {self._portas} - Status {status}'


from veiculo import Veiculo

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

    def __str__(self):
        status = 'ligado' if self._ligado else "desligado"
        return f'{self._marca} {self._modelo} - Tipo: {self._tipo} - Status {status}'


from Carro import Carro
from moto import Moto

carro1 = Carro("Toyota", "Corolla",4)
carro2 = Carro("Honda", "Civic",2)
carro3 = Carro("Ford", "Fusion",4)

moto1 = Moto("Harley-Davidson", "Street 750", "Esportiva")
moto2 = Moto("Honda", "CB 500", "Casual")
moto3 = Moto("Yamaha", "MT-09", "Esportiva")

print(carro1)
print(carro2)
print(carro3)

print(moto1)
print(moto2)
print(moto3)

Toyota Corolla - Portas: 4 - Status desligado Honda Civic - Portas: 2 - Status desligado Ford Fusion - Portas: 4 - Status desligado Harley-Davidson Street 750 - Tipo: Esportiva - Status desligado Honda CB 500 - Tipo: Casual - Status desligado Yamaha MT-09 - Tipo: Esportiva - Status desligado

Olá! Tudo joia?

Fico feliz que tenha conseguido resolver o problema que você estava enfrentando! Além disso, agradeço por compartilhar a sua solução aqui no fórum, sei que ela ajudará outros alunos que também estiverem uma situação parecida.

No mais, boa sorte nos estudos e caso precise de ajuda não exite em criar um tópico no fórum.

Abraços,

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software