Pesquisar no Python Iniciantes

sexta-feira, 27 de julho de 2012

Exercícios #28 (Estrutura de Decisão)

Boa noite galera!

Continuando os exercícios de Estrutura de Decisão da lista de exercícios oficial do Python.

O 12° exercício diz assim:
“Faça um programa para o cálculo de uma folha de pagamento, sabendo que os descontos são do Imposto de Renda, que depende do salário bruto (conforme tabela abaixo) e 3% para o Sindicato e que o FGTS corresponde a 11% do Salário Bruto, mas não é descontado (é a empresa que deposita). O Salário Líquido corresponde ao Salário Bruto menos os descontos. O programa deverá pedir ao usuário o valor da sua hora e a quantidade de horas trabalhadas no mês."

Desconto do IR:
Salário Bruto até 900 (inclusive) – isento
Salário Bruto até 1500 (inclusive) – desconto de 5%
Salário Bruto até 2500 (inclusive) – desconto de 10%
Salário Bruto acima de 2500 – desconto de 20% Imprima na tela as informações, dispostas conforme o exemplo abaixo. No exemplo o valor da hora é 5 e a quantidade de hora é 220.

# -*- coding: latin-1 -*- from __future__ import division """Programa para calcular folha de pagamento: Entradas: Valor_Hora(VH) e Quatidade_Hora(QH) Calc: QH * VH = SB Desconto1: IR - (SB) SB até 900(incuindo) - isento SB até 1500(incuindo) - 5% SB até 2500(incuindo) - 10% SB acima 2500 - 20% Desconto2: INSS - 10%(SB) Empresa_deposita(Emp_Dep): FGTS 11%(SB) Imprima: Salário Bruto: (QH * VH): R$ XXX.XX (-) IR (Desconto1): R$ XX.XX (-) INSS (Desconto2): R$ XX.XX FGTS(Emp_Dep): R$ XX.XX Total_Desconto: R$ XXX.XX SL: R$ XXXX.XX """ #O PROGRAMA COMEÇA AQUI--------------------------. qh = input('Digite a quantidade de horas trabalhadas no mês: ') vh = input('Digite o valor da hora trabalhada: ') def sb(): sb = qh * vh return sb def desc_ir(): #Desconto IR if sb() <= 900: x = 0 elif sb() <= 1500: x = 5 elif sb() <= 2500: x = 10 else: x = 20 return x def calc_ir(): ir = ((sb() / 100)*desc_ir()) #Calc_IR return ir def inss(): inss = ((sb() / 100)*10) #Calc_INSS return inss def fgts(): fgts = (sb() / 100)*11 #Calc_FGTS return fgts def tot_desc(): tot_desc = (sb() / 100)*(desc_ir()+10) #Calc_Total_Desconto return tot_desc def sl(): sl = sb() - tot_desc() return sl print '\nSalário Bruto:','(',qh,'*',vh,'): R$',sb() print '(-) IR','(',desc_ir(),'%): R$',calc_ir() print '(-) INSS','(10 %): R$',inss() print 'FGTS (11%): R$',fgts() print 'Total de Desconto: R$',tot_desc() print 'Salário Líquido: R$',sl()
Complicado não? é realmente ta mais complicado que os antigos, vou deixa-lo para que no fim de semana vocês estudem ele e refaçam de outras formas, segunda eu trago uma explicação completa do mesmo e outras postagens, bom fim de semana a todos fuiz...


4 comentários:

  1. Esse programa eu fiz a alguns meses atrás achei que ficou meio complicado pq misturei muito procedural e funcional, na segunda vou refaze-lo e postarei aqui com uma boa explicação então, se tiver alguma dificuldade para entender não fiquem martelando nele, tentem fazer da forma que melhor vcs consigam se adaptar. O importante é conseguir fazer!

    ResponderExcluir
  2. valor_hora = float(input("Qual é o seu valor hora:"))
    quantidade_de_horas = float(input("Horas trabalhadas no mês:"))
    porcentagem = ["0.05","0.10","0.20"]
    salario_bruto = (valor_hora * quantidade_de_horas)
    if salario_bruto<=900:
    print("Salario liquido é:", salario_bruto)
    elif 9002500:
    b = salario_bruto * 0.20
    c = salario_bruto * 0.10
    d = salario_bruto * 0.11
    e = salario_bruto - (b + c)
    total_descontos = (b + c)
    print("Salario bruto é:", salario_bruto)
    print("(-) IR (5%):", b)
    print("(-) INSS(10%):", c)
    print(" FGTS(11%):", d)
    print("Total de descontos é:", total_descontos)
    print("Salario liquido é:", e)

    ResponderExcluir
  3. Não consegui colocar todo o programa. Desculpa

    ResponderExcluir
  4. valor_hora = int(input('Valor da hora trabalhada: R$ '))
    horas = int(input('Horas trabalhadas: '))
    sal_bruto = valor_hora * horas
    inss = (sal_bruto / 100) * 10
    fgts = (sal_bruto / 100) * 11



    def IR():
    if sal_bruto <= 900:
    print('Salário bruto : R$ {}'.format(sal_bruto))
    print('(-) IR (Isento!) : R$ 00,00')
    print('(-) INSS (10%) : R$ {}'.format(inss))
    print('FGTS (11%) : R$ {}'.format(fgts))
    print('Total de descontos : R$ {}'.format(inss))
    print('Salário liquido : R$ {}'.format(sal_bruto - inss))
    elif sal_bruto > 900 and sal_bruto <=1500:
    print('Salário bruto : R$ {}'.format(sal_bruto))
    print('(-) IR (5%) : R$ {}'.format((sal_bruto/100)*5))
    print('(-) INSS (10%) : R$ {}'.format(inss))
    print('FGTS (11%) : R$ {}'.format(fgts))
    print('Total de descontos : R$ {}'.format(inss + ((sal_bruto / 100)*5)))
    print('Salário liquido : R$ {}'.format(sal_bruto - inss - ((sal_bruto / 100) * 5)))
    elif sal_bruto > 1500 and sal_bruto <= 2500:
    print('Salário bruto : R$ {}'.format(sal_bruto))
    print('(-) IR (10%) : R$ {}'.format((sal_bruto / 100)*10))
    print('(-) INSS (10%) : R$ {}'.format(inss))
    print('FGTS (11%) : R$ {}'.format(fgts))
    print('Total de descontos : R$ {}'.format(inss + ((sal_bruto / 100)*10)))
    print('Salário liquido : R$ {}'.format(sal_bruto - inss - ((sal_bruto / 100) * 10)))
    elif sal_bruto > 2500:
    print('Salário bruto : R$ {}'.format(sal_bruto))
    print('(-) IR (20%) : R$ {}'.format((sal_bruto / 100)*20))
    print('(-) INSS (10%) : R$ {}'.format(inss))
    print('FGTS (11%) : R$ {}'.format(fgts))
    print('Total de descontos : R$ {}'.format(inss + ((sal_bruto / 100)*20)))
    print('Salário liquido : R$ {}'.format(sal_bruto - inss - ((sal_bruto / 100) * 20)))
    IR()




    ResponderExcluir