Como calcular o preço final de um produto aplicando um desconto, caso um cupom válido seja fornecido
Este código Python foi desenvolvido para calcular o preço final de um produto aplicando um desconto, caso um cupom válido seja fornecido. Vamos detalhar cada parte:
Dicionário de Descontos
Python:
descontos = {
"DESCONTO10": 0.10,
"DESCONTO20": 0.20,
"SEM_DESCONTO": 0.00
}
Aqui, temos um dicionário chamado descontos. Um dicionário é uma estrutura de dados que armazena pares de "chave-valor". Neste caso:
- As chaves são os nomes dos cupons de desconto (strings como
"DESCONTO10","DESCONTO20","SEM_DESCONTO"). - Os valores associados a essas chaves são as respectivas taxas de desconto (números de ponto flutuante, como
0.10para 10%,0.20para 20%, e0.00para nenhum desconto).
Este dicionário permite que o programa consulte rapidamente qual o percentual de desconto para cada cupom.
Entrada do Usuário
Python:
preco = float(input().strip())
cupom = input().strip()
Nesta seção, o programa solicita informações ao usuário:
preco = float(input().strip()): O programa pede ao usuário para digitar o preço original do produto.input(): Lê a entrada do usuário como uma string..strip(): Remove quaisquer espaços em branco extras do início ou do fim da string digitada pelo usuário. Isso garante que não haverá problemas caso o usuário digite um espaço acidentalmente.float(): Converte a string resultante para um número de ponto flutuante (decimal), pois preços geralmente não são inteiros.cupom = input().strip(): De forma semelhante, o programa solicita ao usuário que digite o nome do cupom de desconto. A entrada é lida como string e os espaços em branco são removidos.
Aplicação do Desconto
Python:
if cupom in descontos:
preco_final = preco * (1 - descontos[cupom])
else:
preco_final = preco
Esta é a lógica central do código, onde o desconto é aplicado:
if cupom in descontos:: Esta linha verifica se a string digitada pelo usuário (cupom) existe como uma chave no dicionáriodescontos.- Se o cupom for válido (ou seja, se a chave existir no dicionário), o bloco de código dentro do
ifé executado. preco_final = preco * (1 - descontos[cupom]): Se o cupom for válido, o preço final é calculado.descontos[cupom]: Acessa o valor de desconto correspondente à chave docupomno dicionário. Por exemplo, secupomfor"DESCONTO10",descontos[cupom]será0.10.1 - descontos[cupom]: Calcula o fator de multiplicação para o preço. Se o desconto for de 10% (0.10), o fator será1 - 0.10 = 0.90. Multiplicar o preço por0.90é o mesmo que aplicar 10% de desconto.preco * (fator de multiplicação): O preço original é multiplicado por este fator para obter o preço com desconto.else:: Se a condição doiffor falsa (ou seja, se ocupomdigitado pelo usuário não for encontrado no dicionáriodescontos), o bloco de código dentro doelseé executado.preco_final = preco: Neste caso, o cupom é considerado inválido, e o preço final permanece igual ao preço original, sem desconto.
Exibição do Resultado
Python
print(f"{preco_final:.2f}")
Finalmente, esta linha exibe o resultado:
print(): Imprime o valor na tela.f"{preco_final:.2f}": É uma f-string (string formatada).preco_final: O valor da variávelpreco_finalé inserido na string.:.2f: Este é um especificador de formato que garante que o número de ponto flutuante (preco_final) será exibido com duas casas decimais, o que é ideal para valores monetários.
Resumo do Fluxo
- O programa define os cupons e seus respectivos descontos.
- Pede ao usuário o preço do produto.
- Pede ao usuário o nome do cupom.
- Verifica se o cupom inserido é válido (está no dicionário de descontos).
- Se for válido, calcula o preço com desconto.
- Se não for válido, mantém o preço original.
- Imprime o preço final formatado com duas casas decimais.
Este código é um exemplo simples e eficaz de como usar dicionários para gerenciar dados e estruturas condicionais (if/else) para implementar lógica de negócios em Python.



