Escrever um algoritmo em Python que leia de uma (1) Mercadoria: - Preço (em R$). - Reajuste (em porcentagem). - Opção: Acréscimo ou Desconto. E exiba na tela: - Preço com o reajuste da mercadoria. - Reajuste calculado da mercadoria. Lógica de programação: Problema de Juros. Como resolver: FÓRMULA 1: Valor corrigido = Valor (+ ou -) Reajuste / 100 * Valor FÓRMULA 2: Valor corrigido = Valor * ( 1 (+ ou -) Reajuste / 100) Uso da Tipo Variável STRING: str + Método: lower
Soluções para a tarefa
No código abaixo, os pontos os pontos foram colocados para preservar a indentação, não fazem parte do programa.
O mesmo código pode ser conferido na figura anexada, assim como um exemplo de funcionamento.
n=str(input('Nome do produto: ')).strip().capitalize()
preco=float(input(f'Preço da(o) {n}: '))
reajuste=float(input('Porcentagem de reajuste: '))
while True:
.....opcao=str(input('Digite a opçao de reajuste ("desconto" ou "acrescimo"): ')).strip().lower()
.....if opcao=='desconto' or opcao=='acrescimo':
..........break
valorReajuste=preco*(reajuste/100)
if opcao=='desconto':
.....precoReajustado=preco-valorReajuste
elif opcao=='acrescimo':
.....precoReajustado=preco+valorReajuste
print(f'\nO {opcao} de {reajuste}% na(o) {n} vale R${valorReajuste:.2f}.')
print(f'O preço reajustado ficou em R${precoReajustado:.2f}.')
Comentários do código:
L1: Leitura de uma string para o nome do produto, é opcional (não foi pedido).
L2: Leitura de um valor do tipo float para o preço do produto.
L3: Leitura de um valor do tipo float para a porcentagem de reajuste.
L4: Vazia
L5: Inicialização de um laço while "infinito"
L6: Dentro do laço, lemos uma string para a opção de reajuste (desconto ou acréscimo). Utilizamos o método .strip() para ignorar/retirar os espaços antes e depois da string digitada e o método .lower() para que todos caracteres da string sejam deixadas minusculas.
L7: Estrutura condicional. Testa se o usuário digitou uma opção valida.
L8: Caso a condição acima tenha sido respeitada, saímos do laço (break).
L9: Vazia
L10: Calculo do reajuste.
L11~L14: Estrutura condiciona. Verifica qual opção de reajuste foi digitada pelo usuário e calcula o preço reajustado correspondente.
L16~L17: Mostra para o usuário o valor do reajuste e o preço total com reajuste.