-- coding: UTF-8 --
class FilaPrioritaria(): codigo: int = 0 fila = [] clientes_atendidos = [] senha_atual: str = ""
def gera_senha(self)->None:
self.senha_atual = f"PR-{self.codigo}"
def reseta_fila(self)->None:
if(self.codigo >= 100):
self.codigo = 0
else:
self.codigo += 1
def atualiza_fila(self):
self.reseta_fila()
self.gera_senha()
self.fila.append(self.senha_atual)
def chama_cliente(self, caixa: int)->str:
cliente_atual : str = self.fila.pop(0)
self.clientes_atendidos.append(cliente_atual)
return (f"Senha atual: {cliente_atual}.\nPor favor, dirija-se ao caixa {caixa}.")
def estatistica(self, dia: str, agencia: int, flag: str)->dict:
if (flag != "detail"):
estatistica = {f"{agencia}-{dia}" : len(self.clientes_atendidos)}
else:
estatistica = {}
estatistica['dia'] = dia
estatistica['agencia'] = agencia
estatistica['clientes atendidos'] = self.clientes_atendidos
estatistica['quantidade de clientes atendidos'] = len(self.clientes_atendidos)
return estatistica
if name == 'main': ''' fila_teste = FilaPrioritaria() fila_teste.atualiza_fila() print(fila_teste.chama_cliente(15)) ''' fila_teste2 = FilaPrioritaria() fila_teste2.atualiza_fila() print(fila_teste2.chama_cliente(15))