Realizei as atividades, ficou bem diferente, talvez por minha falha na interpretação de texto, mas vale observar que testei o str antes dos nomes ao invés de criar def para __str__
e deu certo, misturei os exercícios 2, 3 e 4 junto, espero ter entendido a questão
criei uma def de pular, para facilitar a visualização dos testes dos 1 ao 4
Curioso que no ex 5, não deu certo nos valores int e float, provavelmente pela estrutura do código, que não tem lista e função para mostrar a lista, como está nos exercícios anteriores.
# E X E R C Í C I O S
#1. Implemente uma classe chamada Carro com os atributos básicos, como modelo, cor e ano. Crie uma instância dessa classe e atribua valores aos seus atributos.
def pula_linha():
print('\n\n')
class Carro:
lista_de_carros = []
def __init__(self, modelo, cor, ano):
self.modelo = str(modelo)
self.cor = str(cor)
self.ano = int(ano)
Carro.lista_de_carros.append(self)
def mostrar_carro():
for c in Carro.lista_de_carros:
print(f'{c.modelo} | {c.cor} | {c.ano}')
corsinha = Carro('Corsa', 'Preto', 2010)
uno_quadrado = Carro('Uno', 'Branco', 1995)
Carro.mostrar_carro()
pula_linha()
#2/3/4. Crie uma classe chamada Restaurante com os atributos nome, categoria, ativo e crie mais 2 atributos. Instancie um restaurante e atribua valores aos seus atributos.
class Restaurante:
restaurantes = []
def __init__(self, nome, categoria, capacidade, prato_principal, ativo=False):
self.nome = str(nome)
self.categoria = str(categoria)
self.capacidade = int(capacidade)
self.prato_principal = str(prato_principal)
self.ativo = ativo
Restaurante.restaurantes.append(self)
def listar_restaurantes():
for r in Restaurante.restaurantes:
print(f'{r.nome} | {r.categoria} | {r.capacidade} | {r.prato_principal} {r.ativo}')
na_quebrada = Restaurante('Na Quebrada', 'Lanche', 35, 'Maloka', ativo=True)
Restaurante.listar_restaurantes()
pula_linha()
#5. Crie uma classe chamada Cliente e pense em 4 atributos. Em seguida, instancie 3 objetos desta classe e atribua valores aos seus atributos através de um método construtor.
class Cliente:
def __init__(self, nome, idade, nacionalidade, altura):
self.nome = nome
self.idade = int(idade)
self.nacionalidade = nacionalidade
self.altura = float(altura)
def __str__(self):
return f'{self.nome} | {self.nacionalidade}'
pessoa1 = Cliente('Carlos', 25, 'Brasileiro', 1.85)
pessoa2 = Cliente('Marcia', 32, 'Argentina', 1.69)