Estou com um problema em um código e não estou conseguindo obter a resposta correta. O Usuário deve informar os salários de várias pessoas e o código deve calcular o aumento em função do salário de entrada, por meio de uma condição (se o salário está menor que 500, o aumento é de 15%, etc…) . Quando é informado um valor de salário negativo, o código deve encerrar apresentando a mensagem de FIM e a soma de todos os rendimentos, ou seja, gasto extra. O problema é: Quando eu informo o valor negativo, o código encerra e não é contabilizado no valor final, porém, o while lê este valor negativo e printa na tela a mensagem como se fosse um salário válido. Como pode um print dentro do while calcular um valor negativo sendo que a condição do while é salario>=0?
EXEMPLO DE ENTRADA E SAÍDA:
Prezado(a), digite o salário atual: 100
O novo salário é R$ 115.0
Prezado(a), digite o salário atual: 0
O novo salário é R$ 0.0
Prezado(a), digite o salário atual: -2
O novo salário é R$ -2.0
O valor do salário é inválido pois é um valor negativo. Fim de execução.
O valor total de despesas a mais para a empresa é R$ 15.0
CÓDIGO
novosalario = 0
reajuste = 0
salario = 0
novoreajuste = 0
while salario>=0:
salario = float(input("Prezado(a), digite o salário atual: "))
if salario>=0 and salario<500:
reajuste=float((salario0.15))
elif salario >=0 and salario>=500 and salario<=1000:
reajuste=float((salario0.1))
elif salario>=0 and salario>1000:
reajuste=float((salario*0.05))
novoreajuste+=reajuste
novosalario=salario+reajuste
print(“O novo salário é R$ {}”.format(novosalario))
print(“O valor do salário é inválido pois é um valor negativo. Fim de execução.”)
print(“O valor total de despesas a mais para a empresa é R$ {}”.format(novoreajuste-reajuste))