[dúvida] ajude um iniciante na programação pfv
olá, comecei a estudar python recentemente (2 semanas) do zero, n sei nada de programação. estou fazendo um exercício, porém estou preso em uma parte e não sei o que está errado, da uma olhada no meu código pfv.
pergunta: 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. meu código:
def descontos(valor):
if valor <= 900:
"isento de IR"
elif valor <= 1500:
valor * 0.05
elif valor <= 2500:
valor * 0.1
else:
valor * 0.2
return valor
valor_hora = int(input("quanto você ganha por hora? "))
hora = int(input("quantas horas você trabalha por mês? "))
salario = valor_hora * hora
valor = descontos(salario)
print(salario)
Voce nunca altera o valor da variavel valor
, troque valor * 0.05
por valor = valor * 0.05
. Faça o mesmo para todos os if's.
Veja que em salario = valor_hora * hora
, o resultado da multiplicação é armazenado na variável salario
.
Mas....
valor * 0.05
efetua a multiplicação e o resultado vai para onde?
Lugar nenhum. A variável valor permanece sem alteração e irá retornar o valor de entrada.
editado:
Quando respondi não tinha nenhuma resposta. :D
Mas tem outras coisas erradas no teu código.
- se o valor for menor ou igual a 900, deverá retornar zero
- no final estás imprimindo o valor do salários sedm os descontos
- falta o sindicato
- não está mostrando o FGTS
Não foi incluído o "exemplo abaixo" para eu saber o que deve ser mostrado.