PARTE 1
models/convidado.py
import random
class Convidado:
def __init__ (self, nome):
self.nome = nome
self.id = random.randint(1, 1000)
models/lista_de_convidados.py
class ListaConvidados:
lista_convidados = []
@classmethod
def adicionar_convidado (cls, convidado, posicao = None):
"""
Adiciona um convidado À lista de convidados com base na sua posição fornecida.
Parâmetros:
Convidado: objeto da classe Convidado;
Posição: int.
"""
if posicao is None:
cls.lista_convidados.append (convidado)
else:
# Definição de posição para a innserção através da posição fornecida
cls.lista_convidados.insert (posicao - 1, convidado)
@classmethod
def remover_convidado (cls, convidado):
"""
Remove um convidado da lista de convidados.
Parâmetro:
Convidado: objeto da classe Convidado.
"""
cls.lista_convidados.remove (convidado)
@classmethod
def buscar_convidado_por_nome (cls, nome):
"""
Busca um convidado na lista com base no seu nome.
Parâmetro:
Nome: str.
"""
for convidado in cls.lista_convidados:
if convidado.nome == nome:
return convidado
return None
@classmethod
def exibir_lista_convidados (cls):
if not cls.lista_convidados:
print ("\nNão há convidados na lista.")
else:
print ("\nLista de convidados")
print (f"{"Nome".ljust(25)} | {"ID".ljust(25)} | {"Posição".ljust(25)}")
for convidado in cls.lista_convidados:
print (f"{convidado.nome.ljust(25)} | {str(convidado.id).ljust(25)} | {str(cls.lista_convidados.index(convidado) + 1).ljust(25)}")
Continua...