Pular para o conteúdo
Bruno Dórea
Todos os posts

6 mins de leitura


Simulador de Consulta SQL

Explorando SQL com Python - 1/2


Suzano - Análise de Dados com Power BI
Suzano - Análise de Dados com Power BI

Descrição

Neste desafio, você vai simular a operação de uma consulta que filtra funcionários por cargo, semelhante ao comportamento de uma consulta SQL com a cláusula WHERE. O objetivo é filtrar uma lista de funcionários pelo cargo especificado e retornar os nomes daqueles que ocupam o cargo desejado.

Embora o SQL seja uma linguagem utilizada para consultas em bancos de dados, aqui estamos simulando uma operação similar em Python, filtrando uma lista de dicionários que contém as informações dos funcionários.

Entrada

Você receberá:

  1. Um número inteiro n representando o número de funcionários.
  2. Uma lista de dicionários, onde cada dicionário contém três chaves:
    • id: o identificador único do funcionário,
    • nome: o nome do funcionário,
    • cargo: o cargo ocupado pelo funcionário.
  3. Uma string representando o cargo que você deseja filtrar.

Saída

Uma lista com os nomes dos funcionários que ocupam o cargo especificado.

Exemplos

EntradaSaída
3['Ana', 'Maria']
1
Ana
Desenvolvedora
2
Pedro
Gerente
3
Maria
Desenvolvedora
Desenvolvedora
EntradaSaída
2['João', 'Luiza']
4
João
Analista
5
Luiza
Analista
Analista
EntradaSaída
2['Carlos']
6
Carlos
Gerente
7
Sofia
Diretora
Gerente

Resolução

def filtrar_funcionarios(funcionarios, cargo):
    # Filtra os funcionários pelo cargo e retorna uma lista com os nomes
    return [funcionario["nome"] for funcionario in funcionarios if funcionario["cargo"] == cargo]
 
# Função para entrada do usuário
def main_filtro():
    # Recebe o número de funcionários
    n = int(input())
    funcionarios = []
 
    # Recebe os dados de cada funcionário
    for _ in range(n):
        id_funcionario = int(input())
        nome = input()
        cargo = input()
        funcionarios.append({"id": id_funcionario, "nome": nome, "cargo": cargo})
 
    # Recebe o cargo que queremos filtrar
    cargo_filtro = input()
 
    # Chama a função de filtro e exibe o resultado
    resultado = filtrar_funcionarios(funcionarios, cargo_filtro)
    print(resultado)
 
# Executando a função principal
main_filtro()

Para encontrar outras soluções, verifique aqui.

Caso encontre algum erro ou tenha sugestões, clique aqui e abra uma issue no Github.