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

6 mins de leitura


Simulador de Cálculo de Salários

Explorando SQL com Python - 2/2


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

Descrição

Neste desafio, você será responsável por implementar um simulador de cálculo de salários para uma lista de funcionários. Cada funcionário tem um nome, o número de horas trabalhadas e o valor que ele recebe por hora. Sua tarefa é calcular o salário de cada funcionário multiplicando as horas trabalhadas pelo valor da hora.

Você receberá primeiro um número que indica a quantidade de funcionários, seguido por uma lista de dicionários contendo as informações de cada funcionário. A função deve retornar uma lista de strings, onde cada string apresenta o nome do funcionário seguido do seu salário calculado.

Entrada

A entrada será composta por:

  • Um número inteiro n que representa a quantidade de funcionários.
  • Uma lista de n dicionários. Cada dicionário conterá três chaves:
    • "nome": uma string representando o nome do funcionário.
    • "horas_trabalhadas": um número inteiro representando as horas que o funcionário trabalhou.
    • "valor_hora": um número decimal representando o valor pago por hora trabalhada.

Saída

A saída deverá ser uma lista de strings. Cada string deverá seguir o formato:

  • "Nome: Salário", onde:
    • Nome é o nome do funcionário.
    • Salário é o resultado do cálculo das horas trabalhadas multiplicadas pelo valor por hora, formatado com duas casas decimais.

Exemplos

A tabela abaixo apresenta exemplos com alguns dados de entrada e suas respectivas saídas esperadas. Certifique-se de testar seu programa com esses exemplos e com outros casos possíveis.

EntradaSaída
2Ana: 1000.0
AnaPedro: 1050.0
40
25
Pedro
35
30
EntradaSaída
1Maria: 900.0
Maria
45
20
EntradaSaída
3João: 450.0
JoãoLuiza: 450.0
30Carlos: 440.0
15
Luiza
25
18
Carlos
20
22

Resolução

def calcular_salarios(funcionarios):
    # Retorna uma lista de strings formatadas com o nome e o salário de cada funcionário
    salarios = [f"{funcionario['nome']}: {funcionario['horas_trabalhadas'] * funcionario['valor_hora']}" for funcionario in funcionarios]
    return salarios
 
# Função para entrada do usuário
def main_salario():
    # Recebe o número de funcionários
    n = int(input())
    funcionarios = []
 
    # Recebe os dados de cada funcionário
    for _ in range(n):
        nome = input()
        horas_trabalhadas = int(input())
        valor_hora = float(input())
        
        # Adiciona um dicionário com as informações do funcionário à lista 'funcionarios'
        funcionarios.append({
            "nome": nome,
            "horas_trabalhadas": horas_trabalhadas,
            "valor_hora": valor_hora
        })
 
    # Calcula os salários e exibe o resultado formatado
    resultado = calcular_salários(funcionarios)
    
    for salario in resultado:
        print(salario)
 
# Executando a função principal
main_salario()

Para encontrar outras soluções, verifique aqui.

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