Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] lista de exercícios sobre classes

#criar classe carro, criar atributos, criar uma instância e atribuir valores
class Carro:
    carros = []


    def __init__(self, modelo,cor,ano):
        self.modelo = modelo
        self.cor = cor 
        self.ano =ano
        Carro.carros.append(self)

    def __str__(self):
        return f'{self.nome} | {self.cor} |{self.ano}'
        
    def lista_carros():
        for carro in Carro.carros:
            print(f'modelo: {carro.modelo} | cor: {carro.cor} | ano: {carro.ano}')


carro1 = Carro('tiida','prata','2013')
Carro.lista_carros()

#criar classe restaurante, criar atributos, criar uma instância e atribuir valores, exercicio 3 e 4 fiz para que imprima todos os valores
class Restaurante:
    restaurantes = []

    def __init__(self, nome, categoria, capacidade, avaliacao,ativo=False):
        self.nome = nome    
        self.categoria = categoria
        self.ativo = ativo
        self.capacidade = capacidade
        self.avaliacao = avaliacao
        Restaurante.restaurantes.append(self)

    def __str__(self):
        return f'{self.nome} | {self.categoria} | {self.capacidade} | {self.avaliacao} '
    
    def listar_restaurantes():
        for restaurante in Restaurante.restaurantes:
            print (f'nome: {restaurante.nome} | categoria: {restaurante.categoria} | capacidade: {restaurante.capacidade} pessoas | nota: {restaurante.avaliacao} | ativo: {restaurante.ativo}')


restaurante1 = Restaurante('Churraxxcou' ,'churrascaria' ,150 ,8.7)
restaurante2 = Restaurante('Nugrau', 'Self-service', 100, 7.5)
Restaurante.listar_restaurantes()

#criar classe cliente, criar atributos, criar uma instância e atribuir valores
class Cliente:
    clientes = []

    def __init__(self,nome, sexo, cidade, email,):
        self.nome = nome
        self.sexo = sexo
        self.cidade = cidade
        self.email = email
        Cliente.clientes.append(self)     

    def __str__(self): 
        return f' {self.nome} | {self.sexo} | {self.cidade} | {self.email}'
    
    def listar_clientes():
        for cliente in Cliente.clientes:
            print(f'Cliente: {cliente.nome} | sexo: {cliente.sexo} | cidade: {cliente.cidade} | e-mail: {cliente.email}')

cliente1 = Cliente('wallan','masculino','Rio de janeiro','wal@ig.com')
cliente2 = Cliente('junior','masculino','Rio de janeiro','jn@ig.com')
cliente3 = Cliente('camila','feminino','Rio de janeiro','cml@ig.com')
Cliente.listar_clientes()
1 resposta
solução!

Olá Wallan, tudo bem com você?

Meus parabéns pela resolução dos exercícios, você está no caminho certo, continue com essa dedicação e empenho, colocando em prática o que está aprendendo.

Gostaria de aproveitar a oportunidade e apontar uma pequena correção para o método __str__ da classe Carro. Foi utilizado o atributo self.nome que não existe na classe Carro, o correto seria self.modelo. Deixo abaixo a correção do método:

def __str__(self):
        return f'{self.modelo} | {self.cor} |{self.ano}'

Após fazer essa correção, salve o arquivo antes de executá-lo.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!