CSE 110: Introdução à Programação

Exemplo de Solução

Veja abaixo uma das maneiras de resolver esse problema. Essa não é a única solução possível.


"""
Autor: Irmão Burton

Objetivo: Pratique trabalhar com arquivos.
"""

# Abrimos com encoding="utf-8" porque o arquivo tem acentos
# e o padrão do Python pode gerar caracteres errados.
 
import locale
 
# Definimos a localidade fora do loop para não precisar configurar a cada iteração e garantir a moeda em formato brasileiro.
locale.setlocale(locale.LC_ALL, "pt_BR.UTF-8")
 
with open(r"sistema_rh.txt", encoding="utf-8") as f:
    next(f)  # pule a primeira linha, que é o cabeçalho
 
    # Leia cada linha, uma por uma, em uma variável: linha_atual
    for linha_atual in f:
        # Remova os espaços em branco no início e final
        linha_limpa = linha_atual.strip()
 
        # Divida a linha atual em suas partes com base em um espaço " " como separador
        partes = linha_limpa.split(" ")
 
        # Salve cada parte em uma variável
        nome = partes[0]
        numero_de_id = partes[1]
        cargo = partes[2]
        salario_anual = float(partes[3])
 
        # Calcule o valor do pagamento quinzenal
        valor_do_pagamento = salario_anual / 24
 
        # Se o cargo for engenheiro(a), adicione bônus
        if cargo.lower() == "engenheiro(a)":
            valor_do_pagamento += 1000
 
        # Formate o valor do pagamento para moeda brasileira (exemplo: R$ 4.500,00)
        valor_formatado = locale.currency(valor_do_pagamento, grouping=True)
 
        # Mostre os dados formatados para o usuário
        print(f"{nome} (ID: {numero_de_id}), {cargo} - {valor_formatado}")