Ir ao conteúdo

Posts recomendados

Postado

Boa tarde @Miqueias Nogueira

 

Nós não podemos escrever o código para você, nós só podemos lhe auxiliar tirando duvidas e corrigindo algum código que você já tenha feito.

 

Se puder postar o código que você já fez ou colocar em qual parte do exercício você está com duvida, poderemos lhe ajudar melhor :D 

  • Curtir 2
Postado
4 horas atrás, Leonardo0308 disse:

Boa tarde @Miqueias Nogueira

 

Nós não podemos escrever o código para você, nós só podemos lhe auxiliar tirando duvidas e corrigindo algum código que você já tenha feito.

 

Se puder postar o código que você já fez ou colocar em qual parte do exercício você está com duvida, poderemos lhe ajudar melhor :D 

último = 1000
fila = list(range(1,último+1))
while True:
     print("\nExistem %d clientes na fila" % len(fila))
     print("Senha atual:", fila)
     print("Digite S para adicionar uma senha ao fim da fila,")
     print("ou A para realizar o atendimento. F para sair.")
     operação = input("Operação (S, A ou F):")
     if operação == "A":
         if(len(fila))>0:
               atendido = fila.pop(0)
               print("Cliente %d atendido" % atendido)
         else:
               print("Fila vazia! Ninguém para atender.")
     elif operação == "F":
         último += 1 
         fila.append(último)
     elif operação == "S":
         break
     else:
         print("Operação inválida! Digite apenas F, A ou S!")

Postado

@Miqueias Nogueira Olá. Segundo o enunciado do exercício o mesmo deve ser feito usando programação orientada a objetos, e não de forma procedural tal como você está fazendo

Segue um exemplo de como poderia ser a sua classe Fila com seus respectivos métodos:

import random
import queue

class Fila(object):

    def __init__(self): # construtor da classe Fila
        self.fila = queue.Queue() # crio uma estrutura de dados do tipo fila

    def geracao_de_senha(self):
        # gera senha de forma aleatória e inclui essa senha na fila de espera

    def chamada(self):
        # chama o próximo número de fila de espera

    def impressao(self):
        # imprime conforme o diagrama mostrado


if __name__ == '__main__':

    fila = Fila() # crio um objeto da classe Fila e com o mesmo chamo os métodos da classe

    # ex: fila.impressao()

    # restante do código

Se, porventura, tiver alguma dúvida não hesite em perguntar, ok?

 

Da forma como defini a classe Fila, a fila criada é um atributo da mesma, logo, para inserir um elemento na fila e remover seria isso:

self.fila.put('''elem''') # inserir
self.fila.get() # remover

O método get() retorna o elemento removido da fila

 

Perceba esse ponto que é importante: Do modo como está seu código, você está trabalhando com uma lista e não uma fila. Por se tratar de fila de espera, a primeira pessoa que chega é a primeira a ser atendida, logo a estrutura de dados que você deve usar é fila (queue) e não uma lista

Fila (queue) segue o conceito FIFO ( First in, First out ) e uma lista não

 

Segue um forma de gerar uma senha:

senha = ''
for i in range(6):
    senha += str(random.randint(0, 9))
self.fila.put(senha)

Creio que já dei dicas demais. Qualquer dúvida é só perguntar

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!