Advertisement
Guest User

PYTHON SO FALTA OS DEFS

a guest
May 23rd, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.40 KB | None | 0 0
  1. def linha():
  2. print('=' * 40)
  3.  
  4. # Mostra o título do projeto
  5. linha()
  6. print('PROJETO FOLHA DE PAGAMENTO')
  7. linha()
  8.  
  9. execucao = 1
  10.  
  11. while execucao == 1:
  12.  
  13. # OBTÉM O NOME
  14. nome = str(input('Informe o nome do funcionário: ')).upper()
  15. linha()
  16.  
  17. # OBTÉM OS DEPENDENTES
  18.  
  19. qtd_dependentes = int(input('Quantidade de dependentes (se nenhum coloque 0): ')) + 1 # O 1 serve para formatar os dados no for
  20. # Verificando se a pessoa tem dependentes e se sim, pedir nome e idade
  21. # Se não tiver dependentes, o "if" será ignorado
  22.  
  23. ndependentes = []
  24. idependentes = []
  25.  
  26. if qtd_dependentes != 0:
  27. for dados_dependentes in range(1, qtd_dependentes):
  28. nome_dependentes = str(input(f'Informe o nome do {dados_dependentes}º dependente: '))
  29. ndependentes.append(nome_dependentes)
  30.  
  31. idade_dependentes = int(input(f'Informe a idade do {dados_dependentes}º dependente: '))
  32. idependentes.append(idade_dependentes)
  33.  
  34. linha()
  35.  
  36. qtd_dependentes = qtd_dependentes - 1 # Removendo o 1 que foi usado na formatação no for
  37.  
  38. # OBTÉM OS SALÁRIOS
  39.  
  40. salario_bruto = float(input('Digite seu salário bruto: '))
  41. linha()
  42. salario_extra = float(input('Digite seu salário extra/gratificação: '))
  43. linha()
  44.  
  45. salario_total = salario_bruto + salario_extra
  46.  
  47. # OBTÉM O VALE TRANSPORTE
  48.  
  49. usara_vt = str(input('Irá utilizar vale transporte? [S/N] ')).upper()
  50. linha()
  51.  
  52. vale_transporte = 0 # Variavel para o resultado calculado nos IFs ser guardado
  53.  
  54. # 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
  55. if usara_vt == 'S':
  56. custo_passagens = (22 * 2) * 4.50 # Considera duas passagens por dia a R$ 4.50
  57. desconto_vt = salario_bruto * 0.06
  58.  
  59. if custo_passagens < desconto_vt:
  60. vale_transporte = custo_passagens
  61. else:
  62. vale_transporte = desconto_vt
  63.  
  64. elif usara_vt == 'N':
  65. vale_transporte = 0
  66. else:
  67. print('Digite apenas S ou N! Tente novamente.')
  68. exit()
  69.  
  70. # OBTÉM O PLANO DE SAÚDE
  71.  
  72. print('Qual dos planos de saúde você irá utilizar?')
  73. print('[1] Enfermaria (R$ 89,90 por pessoa)')
  74. print('[2] Quarto (R$ 119,90 por pessoa)')
  75. usara_plano = int(input('> '))
  76. linha()
  77.  
  78. plano_saude = 0
  79.  
  80. if usara_plano == 1:
  81. plano_saude = (qtd_dependentes + 1) * 89.90 # o + 1 serve para adicionar o usuario na conta
  82. elif usara_plano == 2:
  83. plano_saude = (qtd_dependentes + 1) * 119.90 # o + 1 serve para adicionar o usuario na conta
  84.  
  85. # OBTÉM O FGTS
  86.  
  87. fgts = salario_total * 0.08
  88.  
  89. # OBTÉM O INSS
  90.  
  91. inss = 0
  92.  
  93. if salario_total <= 1751.81:
  94. inss = salario_total * 0.08
  95. elif salario_total >= 1751.82 and salario_total <= 2919.72:
  96. inss = salario_total * 0.09
  97. elif salario_total >= 2919.73 and salario_total <= 5839.45:
  98. inss = salario_total * 0.11
  99. elif salario_total > 5839.45:
  100. inss = salario_total * 0.11
  101.  
  102. # SALÁRIO FAMÍLIA
  103.  
  104. salario_familia = 0
  105. qtd_salfamilia = 0
  106.  
  107. for dependente in idependentes:
  108. if dependente <= 14:
  109. qtd_salfamilia += 1
  110.  
  111. if salario_total <= 907.77:
  112. salario_familia = qtd_salfamilia * 46.54
  113. elif salario_total >= 907.78 <= 1364.43:
  114. salario_familia = qtd_salfamilia * 32.80
  115. elif salario_total >= 1364.44:
  116. salario_familia = 0
  117.  
  118. # IMPOSTO DE RENDA
  119. deducao_dependente = 189.59 * qtd_dependentes
  120. salario_base = salario_total - inss - deducao_dependente
  121.  
  122. ir = 0
  123.  
  124. if salario_base <= 1903.98:
  125. ir = 0
  126. elif salario_base >= 1903.99 and salario_base <= 2826.65:
  127. ir = (salario_base * 0.075) - 142.80
  128. elif salario_base >= 2826.66 and salario_base <= 3751.05:
  129. ir = (salario_base * 0.15) - 354.80
  130. elif salario_base >= 3751.06 and salario_base <= 4664.68:
  131. ir = (salario_base * 0.225) - 636.13
  132. elif salario_base > 4664.68:
  133. ir = (salario_base * 0.275) - 869.36
  134.  
  135. # SALARIO LIQUIDO
  136.  
  137. salario_liquido = salario_total - vale_transporte - plano_saude - inss + salario_familia - ir
  138.  
  139. print(f'RESULTADO PARA {nome}')
  140. linha()
  141. print('Salário bruto: R$ {}'.format(round(salario_bruto, 2)))
  142. linha()
  143. print('Salário extra/gratificações: R$ {}'.format(round(salario_extra, 2)))
  144. linha()
  145. if usara_vt == 'S':
  146. print('Custo do vale transporte: R$ {}'.format(round(vale_transporte, 2)))
  147. linha()
  148.  
  149. if usara_plano == '1':
  150. print('Plano de saude (enfermaria): R$ {}'.format(round(plano_saude, 2)))
  151. linha()
  152. else:
  153. print('Plano de saude (quarto): R$ {}'.format(round(plano_saude, 2)))
  154. linha()
  155. print('Desconto do INSS: R$ {}'.format(round(inss, 2)))
  156. print('Salário família: R$ {}'.format(round(salario_familia, 2)))
  157. print('Valor do IR: R$ {}'.format(round(ir, 2)))
  158. linha()
  159. print('SALÁRIO LÍQUIDO: R$ {}'.format(round(salario_liquido, 2)))
  160. linha()
  161. print('Deseja calcular de outro funcionário? [Sim/Não]')
  162. continuar = input('> ').upper()
  163.  
  164. if continuar == 'SIM':
  165. execucao = 1
  166. elif continuar == 'NÃO' or 'NAO':
  167. execucao = 2
  168. print('Programa finalizado!')
  169. else:
  170. print('Opção inválida! Tente novamente.')
  171. kill = input('')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement