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"Modelo: {self.modelo} | Cor: {self.cor} | Ano: {self.ano}")
@classmethod
def listar_carros(cls):
for carro in cls.carros:
print(carro)
@classmethod
def adicionar_carros(cls):
for i in range (1, 3):
modelo = input(f"Modelo do {i}° carro: ")
cor = input(f"Cor do {i}° carro: ")
ano = int(input(f"Ano do {i}° carro: "))
Carro(modelo, cor, ano)
Carro.adicionar_carros()
Carro.listar_carros()
#estou fazendo assim pois o exercicio nao pedia por init, nem str :)
class Restaurante:
nome = ""
categoria = ""
ativo = False
cor_fachada = ""
ano_abertura = 0
resturante1 = Restaurante()
resturante1.nome = input("Digite o nome do restaurante: ")
resturante1.categoria = input("Digite a categoria do restaurante: ")
resturante1.cor_fachada = input("Digite a cor da fachada do restaurante: ")
resturante1.ano_abertura = int(input("Digite o ano de abertura do restaurante: "))
print(vars(resturante1))
class Restaurante:
restaurantes = []
def __init__(self, nome, categoria):
self.nome = nome
self.categoria = categoria
self.ativo = False
Restaurante.restaurantes.append(self)
@classmethod
def adicionar_restaurantes(cls):
for i in range(1, 3):
nome = input("Digite o nome do restaurante: ")
categoria = input("Digite a categoria do restaurante: ")
Restaurante(nome, categoria)
def __str__(self):
status = "Ativo" if self.ativo else "Desativado"
return (f"Nome: {self.nome} | Categoria: {self.categoria} | Status: {status}")
@classmethod
def listar_restaurantes(cls):
for restaurante in cls.restaurantes:
print(restaurante)
Restaurante.adicionar_restaurantes()
Restaurante.listar_restaurantes()
from datetime import datetime
class Cliente:
clientes = []
def __init__(self, nome, cpf, fidelidade, data_nascimento):
self.nome = nome
self.cpf = cpf
self.fidelidade = False
self.data_nascimento = data_nascimento
Cliente.clientes.append(self)
def __str__(self):
fidelidade = "Possui" if self.fidelidade else "Não possui"
data_txt = self.data_nascimento.strftime("%d/%m/%Y")
return (f"Nome: {self.nome} | Cpf: {self.cpf} | Fidelidade: {fidelidade} | Data de nascimento: {data_txt}")
@classmethod
def adicionar_clientes(cls, quantidade):
for i in range(quantidade):
nome = input("Nome: ").strip()
cpf = input("Cpf (apenas numeros): ").strip()
while True:
data_str = input("Data de nascimento (dd/mm/aaaa): ")
try:
data_nascimento = datetime.strptime(data_str, "%d/%m/%Y")
break
except ValueError:
print("Formato inválido.")
Cliente(nome, cpf, False, data_nascimento)
@classmethod
def listar_clientes(cls):
for cliente in cls.clientes:
print(cliente)
cliente1 = Cliente("Rafaela", "12345678910", False, datetime.strptime("24/03/2006", "%d/%m/%Y"))
Cliente.adicionar_clientes(2)
Cliente.listar_clientes()