Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def linha():
- print('=' * 40)
- # Mostra o título do projeto
- linha()
- print('PROJETO FOLHA DE PAGAMENTO')
- linha()
- execucao = 1
- while execucao == 1:
- # OBTÉM O NOME
- nome = str(input('Informe o nome do funcionário: ')).upper()
- linha()
- # OBTÉM OS DEPENDENTES
- qtd_dependentes = int(input('Quantidade de dependentes (se nenhum coloque 0): ')) + 1 # O 1 serve para formatar os dados no for
- # Verificando se a pessoa tem dependentes e se sim, pedir nome e idade
- # Se não tiver dependentes, o "if" será ignorado
- ndependentes = []
- idependentes = []
- if qtd_dependentes != 0:
- for dados_dependentes in range(1, qtd_dependentes):
- nome_dependentes = str(input(f'Informe o nome do {dados_dependentes}º dependente: '))
- ndependentes.append(nome_dependentes)
- idade_dependentes = int(input(f'Informe a idade do {dados_dependentes}º dependente: '))
- idependentes.append(idade_dependentes)
- linha()
- qtd_dependentes = qtd_dependentes - 1 # Removendo o 1 que foi usado na formatação no for
- # OBTÉM OS SALÁRIOS
- salario_bruto = float(input('Digite seu salário bruto: '))
- linha()
- salario_extra = float(input('Digite seu salário extra/gratificação: '))
- linha()
- salario_total = salario_bruto + salario_extra
- # OBTÉM O VALE TRANSPORTE
- usara_vt = str(input('Irá utilizar vale transporte? [S/N] ')).upper()
- linha()
- vale_transporte = 0 # Variavel para o resultado calculado nos IFs ser guardado
- # Se a pessoa IRÁ usar o vale (if) se NÃO IRÁ USAR (elif) e dar erro se digitar algo diferente de S ou N
- if usara_vt == 'S':
- custo_passagens = (22 * 2) * 4.50 # Considera duas passagens por dia a R$ 4.50
- desconto_vt = salario_bruto * 0.06
- if custo_passagens < desconto_vt:
- vale_transporte = custo_passagens
- else:
- vale_transporte = desconto_vt
- elif usara_vt == 'N':
- vale_transporte = 0
- else:
- print('Digite apenas S ou N! Tente novamente.')
- exit()
- # OBTÉM O PLANO DE SAÚDE
- print('Qual dos planos de saúde você irá utilizar?')
- print('[1] Enfermaria (R$ 89,90 por pessoa)')
- print('[2] Quarto (R$ 119,90 por pessoa)')
- usara_plano = int(input('> '))
- linha()
- plano_saude = 0
- if usara_plano == 1:
- plano_saude = (qtd_dependentes + 1) * 89.90 # o + 1 serve para adicionar o usuario na conta
- elif usara_plano == 2:
- plano_saude = (qtd_dependentes + 1) * 119.90 # o + 1 serve para adicionar o usuario na conta
- # OBTÉM O FGTS
- fgts = salario_total * 0.08
- # OBTÉM O INSS
- inss = 0
- if salario_total <= 1751.81:
- inss = salario_total * 0.08
- elif salario_total >= 1751.82 and salario_total <= 2919.72:
- inss = salario_total * 0.09
- elif salario_total >= 2919.73 and salario_total <= 5839.45:
- inss = salario_total * 0.11
- elif salario_total > 5839.45:
- inss = salario_total * 0.11
- # SALÁRIO FAMÍLIA
- salario_familia = 0
- qtd_salfamilia = 0
- for dependente in idependentes:
- if dependente <= 14:
- qtd_salfamilia += 1
- if salario_total <= 907.77:
- salario_familia = qtd_salfamilia * 46.54
- elif salario_total >= 907.78 <= 1364.43:
- salario_familia = qtd_salfamilia * 32.80
- elif salario_total >= 1364.44:
- salario_familia = 0
- # IMPOSTO DE RENDA
- deducao_dependente = 189.59 * qtd_dependentes
- salario_base = salario_total - inss - deducao_dependente
- ir = 0
- if salario_base <= 1903.98:
- ir = 0
- elif salario_base >= 1903.99 and salario_base <= 2826.65:
- ir = (salario_base * 0.075) - 142.80
- elif salario_base >= 2826.66 and salario_base <= 3751.05:
- ir = (salario_base * 0.15) - 354.80
- elif salario_base >= 3751.06 and salario_base <= 4664.68:
- ir = (salario_base * 0.225) - 636.13
- elif salario_base > 4664.68:
- ir = (salario_base * 0.275) - 869.36
- # SALARIO LIQUIDO
- salario_liquido = salario_total - vale_transporte - plano_saude - inss + salario_familia - ir
- print(f'RESULTADO PARA {nome}')
- linha()
- print('Salário bruto: R$ {}'.format(round(salario_bruto, 2)))
- linha()
- print('Salário extra/gratificações: R$ {}'.format(round(salario_extra, 2)))
- linha()
- if usara_vt == 'S':
- print('Custo do vale transporte: R$ {}'.format(round(vale_transporte, 2)))
- linha()
- if usara_plano == '1':
- print('Plano de saude (enfermaria): R$ {}'.format(round(plano_saude, 2)))
- linha()
- else:
- print('Plano de saude (quarto): R$ {}'.format(round(plano_saude, 2)))
- linha()
- print('Desconto do INSS: R$ {}'.format(round(inss, 2)))
- print('Salário família: R$ {}'.format(round(salario_familia, 2)))
- print('Valor do IR: R$ {}'.format(round(ir, 2)))
- linha()
- print('SALÁRIO LÍQUIDO: R$ {}'.format(round(salario_liquido, 2)))
- linha()
- print('Deseja calcular de outro funcionário? [Sim/Não]')
- continuar = input('> ').upper()
- if continuar == 'SIM':
- execucao = 1
- elif continuar == 'NÃO' or 'NAO':
- execucao = 2
- print('Programa finalizado!')
- else:
- print('Opção inválida! Tente novamente.')
- kill = input('')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement