Ir ao conteúdo
  • Cadastre-se

Outro Questão de Python <CODE>


Posts recomendados

Uma grande firma deseja saber quais os três empregados mais recentes. Fazer um
algoritmo para ler um número indeterminado de informações contendo o número do
empregado e o número de meses de trabalho deste empregado e imprimir os três
mais recentes.
Observações: a última informação contém os dois números iguais a zero. Não
existem empregados admitidos no mesmo mês.

Preciso disso em python.

se poder me ajudar

Link para o comentário
Compartilhar em outros sites

o que eu fiz não da nem pra entender, eu não estou conseguindo iniciar essa lista de vetores e matriz.

 

num_meses = 0
empregados = []
pos = 0
while True:
    cod_empregados = int(input('Digite o numero do Empregado'))
    empregados.append(cod_empregados)
    
while pos < len (empregados):
    if num_meses > empregados[-1]:
        empregado.append(int(input('Digite o numero do Empregado')))

 

fiz isso por enquanto.

Link para o comentário
Compartilhar em outros sites

@Thiagodsantana  Como terá que pegar e exibir as duas informações do empregado, você pode usar uma lista 2D para armazenar a coluna e a linha. Para pegar os mais recentes você pode ordenar o campo dos meses da lista com sorted e exibir os três primeiros. No input se quiser já pode entrar com as duas informações na mesma linha separadas por espaço,

 

L = []
while True:
    n, m = input('Numero e numero de meses: ').split()
    n, m = int(n), int(m)
    if n == 0 and m == 0: break
    L.append([n, m])

L = sorted(L, key = lambda meses : meses[1])
print(L[:3])

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@Midori  não executou, e não entendi essa questão de "n, m"  juntos.

Aulas EaD esta difícil porque nos não viu nem o básico direito. Só que entendi mais ou menos o que você quis dizer.

eu vou pegar uma variável mês e funcionário armazenar numa lista e depois com sorted eu executo os 3 primeiro, ok só que como faço pra esses vetores ser correspondido, por exemplo: cod_funiconario = [1, 2, 3] e os mês desses funcionário foi [5,8,10]. como faço para isso ser correspondido?

Link para o comentário
Compartilhar em outros sites

25 minutos atrás, Thiagodsantana disse:

não executou,

Qual foi a mensagem de erro? Deve ser por causa da sua versão.

 

Executei neste compilador online e não deu nenhum erro.

 

https://www.onlinegdb.com/online_python_compiler

 

25 minutos atrás, Thiagodsantana disse:

e não entendi essa questão de "n, m"  juntos

 

Python suporta este tipo de atribuição,

 

x, y = 10, 20

 

Aí estou atribuindo o valor 10 para x e 20 para y.

 

E quando atribuo o input a 'n' e 'm' estou fazendo a mesma coisa, já que o split vai separar os números quando o usuário digitar os dois valores (com espaço entre eles).

 

E na parte n, m = int(n), int(m) só fiz isso para deixar o valor como inteiro.

 

25 minutos atrás, Thiagodsantana disse:

como faço pra esses vetores ser correspondido, por exemplo: cod_funiconario = [1, 2, 3] e os mês desses funcionário foi [5,8,10]. como faço para isso ser correspondido?

Sua lista vai ter linha e coluna, por exemplo.

 

Lista = [[3,5], [7,3], [9,2], [10,7], [11,12]]

 

Nessa lista são 5 funcionários; O primeiro da lista tem o número do funcionário 3 e 5 meses [3, 5], o segundo da lista é o número 7 e 3 meses [7, 3] e assim por diante.

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@Midori entendi o erro, e porque nunca tinha feito com essa questão de colocar duas variáveis, então ao executar o código eu irei colocar dois valores.!!

Muitooo Obrigado executou aqui, se eu não conseguir outras questões irei postar aqui !

@Midori

func_e_meses = []
while True:
    func, mes = input('Digite o codigo do funcinario e numero de meses trabalhado: ').split()
    func, mes = int(func), int(mes)
    if func == 0 and mes == 0:
        break
    else:
        if mes == mes:
            print('Não existem empregados admitidos no mesmo mês')
    func_e_meses.append([func, mes])

func_e_meses = sorted(func_e_meses, key = lambda meses : meses[1])
print(func_e_meses[:3])

 

mudei as variáveis, só para entender melhor quais estou executando. eu preciso colocar esse 

else:
        if mes == mes:
            print('Não existem empregados admitidos no mesmo mês')

aqui nesse codigo, porque os funcionarios não pode receber o mesmo mes, so que não da certo, você acha que devo colocar onde?

 

Link para o comentário
Compartilhar em outros sites

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!