image

Access unlimited bootcamps and 650+ courses forever

60
%OFF
Article image
Leonardo Silva
Leonardo Silva10/06/2025 18:05
Share
WEX - End to End EngineeringRecommended for youWEX - End to End Engineering

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.10 para 10%, 0.20 para 20%, e 0.00 para 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ário descontos.
    • 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 do cupom no dicionário. Por exemplo, se cupom for "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 por 0.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 do if for falsa (ou seja, se o cupom digitado pelo usuário não for encontrado no dicionário descontos), o bloco de código dentro do else é 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ável preco_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

    1. O programa define os cupons e seus respectivos descontos.
    2. Pede ao usuário o preço do produto.
    3. Pede ao usuário o nome do cupom.
    4. Verifica se o cupom inserido é válido (está no dicionário de descontos).
    5. Se for válido, calcula o preço com desconto.
    6. Se não for válido, mantém o preço original.
    7. 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.

    Share
    Recommended for you
    TONNIE - Java and AI in Europe
    Microsoft - Azure Administrator Certification (AZ-104)
    WEX - End to End Engineering
    Comments (1)
    DIO Community
    DIO Community - 11/06/2025 10:25

    Excelente, Leonardo! Seu artigo é um guia prático e muito claro sobre como calcular o preço final de um produto aplicando um desconto em Python. É fascinante ver como você detalha cada parte do código, desde o dicionário de descontos até a aplicação da lógica e a exibição do resultado, tornando-o acessível para iniciantes.

    Considerando que o if cupom in descontos: verifica se a string digitada pelo usuário existe como uma chave no dicionário, qual você diria que é o maior benefício de usar um dicionário para gerenciar os cupons de desconto, em vez de uma lista de condições if/else encadeadas?

    Recommended for youWEX - End to End Engineering