Calculando Porcentagem em Python (Exercícios resolvidos)

Exercício 01 de Porcentagem em Python

Ao terminar o Curso Python Progressivo, você foi disputado a tapa por várias empresas, e uma grande varejista te ofereceu o salário maior.

Sua primeira tarefa é criar um programa em Python que pede o preço original de um produto e dá 20% de desconto.

Você deve mostrar uma tabela contendo:
  • Preço original do produto
  • Valor do desconto em R$ (tipo 'Você ganho R$ xx,xx de desconto')
  • Valor do produto com o desconto

Leia também:
Obter certificado do curso (para trabalhar como programador Python)
Obter apostila Python Progressivo (download do PDF)


Exercício 02 de Porcentagem em Python

A loja percebeu que não quer dar 20% em tudo. Quer dar 20% em algumas coisas, 10% em outra, nada em outro produto e até 30% em alguns outros produtos.

Crie um script em Python que pergunte o preço original e o desconto que deve ser concedido.

Ele deve mostrar a tabela igual a do exercício anterior.


**** ATENÇÃO ****

Abaixo vamos mostrar a solução e comentar ela, passo a passo.
Só veja a solução depois de tentar, quebrar a cabeça na parede, chorar em posição fatal e desistir da vida.






















Exercício 01 resolvido

Aplicar um desconto de 20% nada mais é que multiplicar o valor por 0,2

Então, inicialmente pegamos o valor original e armazenamos na variável 'valor_original'. Não esqueça de passar a input para a função float, para virar um número decimal.

Em seguida, multiplicamos esse valor original por 0.2 (em inglês se usa ponto e não vírgula, para números decimais) e armazenamos na variável 'valor_descontado', é o desconto que o cliente vai ganhar.

Como a pessoa ganha 20% de desconto, significa que ela vai pagar apenas 80% do valor original. Ou seja, para saber o valor final, é só multiplicar o valor inicial por 0,8

Nosso código fica:

# Vamos pedir o valor original do produto
valor_original = float( input("Valor original: R$ ") )

# Desconto ganho de 20%
valor_descontado = valor_original * 0.2

# Valor com desconto incluso
novo_valor = valor_original * 0.80

# Exibindo tudo
print('Valor original:     R$', valor_original)
print('Desconto ganho:     R$', valor_descontado)
print('Valor com desconto: R$', novo_valor)

Uma outra maneira mais 'enxuta' de resolver seria:

# Vamos pedir o valor original do produto
valor_original = float( input("Valor original: R$ ") )

# Exibindo tudo
print('Valor original:     R$', valor_original)
print('Desconto ganho:     R$', valor_original * 0.2)
print('Valor com desconto: R$', valor_original * 0.8)


Simples, não é?
Até parece bobo, mas toda loja tem um script desse, para esses cálculos.

Exercícios resolvidos de Python



Exercício 02 resolvido

Agora, não sabemos o valor do desconto de cada produto.
Então, além de perguntar o valor original do produto, também temos que perguntar o valor do desconto e armazenar numa variável chamada 'desconto'.

Mas aqui que mora o perigo.
Quem vai fornecer o valor do desconto vai fornecer em porcentagem.

Tipo, vai escrever '10' para 10%. Porém na hora de dar o desconto, a gente multiplica por 0.10 e não por 10.

Então, o que fazer? Simples: pegamos o valor que a pessoa vai digitar e dividimos por 100 (porcentagem = por cem tagem).

Aqui temos o pulo do gato.
Temos a variável 'desconto' com valor 10.
Como transformar ela pra ter o valor 0.1 armazenado?

Pode declarar uma nova variável, a desconto2, que é:
desconto2 = desconto / 100

Ou mais comum em programação:
desconto = desconto / 100

Isso quer dizer o seguinte: "Python, o novo valor de desconto é o valor antigo dela dividido por 100".

O valor que a pessoa ganha de desconto é o valor original multiplicado por essa variável desconto.

E o novo valor, incluído o desconto?
Se 10% é o desconto, então o valor com desconto incluso é: valor original multiplicado por 0.9 (de 90% = 100% - 10%)

Basta fazer: 1 - desconto
Se o desconto é 0.3 , então vamos multiplicar o valor original por: 1 - 0.3 = 0.7

Em código Python, fica assim: valor_original * (1 - desconto)

O código final fica:

# Vamos pedir o valor original do produto
valor_original = float( input("Valor original: R$ ") )

# Desconto que será concedido
desconto = float( input("Desconto (em %) para esse produto: ") )

# Transformando a porcentagem em número decimal
desconto = desconto / 100

# Exibindo tudo
print('Valor original:     R$', valor_original)
print('Desconto ganho:     R$', valor_original * desconto)
print('Valor com desconto: R$', valor_original * (1-desconto) )


E prontinho! Não importa o valor do produto nem do desconto, o que o funcionário da loja digitar, seu programa vai mostrar tudo bem detalhado: valor original, desconto ganho e valor com desconto incluso:

Curso de Python grátis para download

Agora quando você for em um supermercado, farmácia ou qualquer loja que tenha um sistema de preços e descontos, você já sabe como funciona e já sabe criar.

Não se preocupe, no decorrer de nosso Curso de Python, vamos aprender a criar aquelas programinhas com janelas, botões e tal.

Mas o principal, a lógica da coisa, como funciona por trás dos panos, você já sabe como é.

Bacana hein? Daqui a pouco seu telefone toca, com lojas querendo te contratar, afinal você é um programador Python que aprendeu a programar no Python Progressivo.

4 comentários:

  1. #encoding: utf-8

    #Exercicio 1:

    print 'Bem Vindo a Lojas Havan. Voce ganhou 20% de Descontos na sua compra.'
    preco_original=float(input("Digite o valor do produto: "))

    valor_desconto=float(preco_original*0.20)

    print '\nO desconto foi de R$',valor_desconto
    valor_final=preco_original-valor_desconto

    print '\nO valor do produto era:R$',preco_original,'. Com o desconto ficou em R$',valor_final

    ResponderExcluir
  2. Pediram uma tabela. Eis uma:
    >>>preco = float( input("Valor da peça: R$ ") )
    Valor da peça: R$ 25.0
    >>>print("--------------------------------------------------------------------------------\n","| R$",preco, " |"," Desconto de R$",preco*.20," |"," Preço final R$",preco*.80," |\n","--------------------------------------------------------------------------------")
    --------------------------------------------------------------------------------
    | R$ 25.0 | Desconto de R$ 5.0 | Preço final R$ 20.0 |
    ------------------------------------------------------------------------------

    ResponderExcluir
  3. A minha eu fiz assim, antes de ver a resolução.
    # Programa de Descontos de 20%
    print("Grande Liquidação! Descontos de 10, 20 e 30%" "\n10% para compras abaixo de R$500, 20% para compras R$500+ e 30% para pagamentos à vista")
    var1 = float(input("Digite o preço do Produto: ") )
    var2 = var1 * 20 / 100
    var3 = var1 - var2

    print ("PREÇO ORIGINAL: R$",var1, "\nTirando 20% de R$",var1,"..." "\nVALOR DO DESCONTO: R$:",var2,"!" "\nPREÇO COM DESCONTO: R$:",var3)
    print("VOCÊ GANHOU R$",var2, "de Desconto!")
    #
    var4 = var1 * 10 / 100
    var5 = var1 * 30 / 100
    print("Para compras abaixo de R$500 você ganha 10% de desconto")
    print("Para pagamento à vista o descontaço é de R$",var5)
    print("Simulação desconto de 10%, R$",var4)
    print("Simulação desconto de 30%, R$",var5)

    ResponderExcluir
  4. # Exercício 01 de Porcentagem em Python
    '''original = float (input('Qual é o preço do produto? '))
    print ('O produto era: R$', original)
    print ('Você ganhou R$ {:.2f} de desconto, parabéns!'.format(original*0.2))
    #lembrando que a especificação dentro das chaves é para limitar a quantidade de números depois da vírgula
    print ('O produto sairá por apenas R$ {:.1f}!'.format(original-original*0.2))'''


    # Exercício 02 de Porcentagem em Python
    '''A loja percebeu que não quer dar 20% em tudo.
    Quer dar 20% em algumas coisas, 10% em outra,
    nada em outro produto e até 30% em alguns outros produtos.'''
    '''original = float (input('Qual é o preço do produto? '))
    if (original < 5):
    print ('Queremos muito dar um desconto para você: Descontos a partir de R$ 5,00!')
    print('Valor sem desconto: R$ {}'.format(original))
    elif (original > 5) and (original < 19.99) :
    print ('O produto era: R$', original)
    print ('Você ganhou R$ {:.2f} de desconto, parabéns!'.format(original*0.1))
    print ('O produto sairá por apenas R$ {:.1f}!'.format(original*0.9))
    elif (original > 20) and (original < 39.99) :
    print ('O produto era: R$', original)
    print ('Você ganhou R$ {:.2f} de desconto, parabéns!'.format(original*0.2))
    print ('O produto sairá por apenas R$ {:.1f}!'.format(original*0.8))
    elif (original > 40) :
    print ('O produto era: R$', original)
    print ('Você ganhou R$ {:.2f} de desconto, parabéns!'.format(original*0.3))
    print ('O produto sairá por apenas R$ {:.1f}!'.format(original*0.7))'''

    # ******E2 COM O LOJISTA CONCEDENDO A QUANTIDADE DE DESCONTO******
    original = float (input('Qual é o preço do produto? '))
    desconto = float ( input('Digite o desconto: '))
    desconto = desconto / 100
    print ('O produto era: R$', original)
    print ('Você ganhou R$ {:.2f} de desconto, parabéns!'.format(original*desconto))
    print ('O produto sairá por apenas R$ {:.1f}!'.format(original-original*desconto))

    ResponderExcluir