2
respostas

[Dúvida] Dúvida sobre outro tipo de cálculo

Olá pessoal, tudo bem?
Estou fazendo o curso de Python para Dados e durante o exercício da aula 3 me surgiu uma dúvida na questão 13.

Eu fiz o código da seguinte forma:

venda_22 = float(input('Informe quantidade total de vendas em 2022: '))
venda_23 = float(input('Informe quantidade total de vendas em 2023: '))

var = venda_23 / venda_22 -1

if var > 0.2:
    print('bonificação para o time de vendas.')
elif 0.02 <= var <= 0.2:
    print('pequena bonificação para o time de vendas.')
elif -0.10 <= var < 0.02:
    print('planejamento de políticas de incentivo às vendas.')
else:
    print('Corte de gastos.')

No gabarito do exercício do instrutor utilizou o cálculo de variação percentual (que chamo de var, no meu código) de uma forma diferente, que matematicamente dá o mesmo resultado.

# Coletamos as vendas dos dois anos
venda_2022 = float(input('Informe a quantidade de vendas em 2022: '))
venda_2023 = float(input('Informe a quantidade de vendas em 2023: '))

# Calculamos a variação percentual entre as vendas dos anos de 2022 e 2023
var_percentual = 100 * (venda_2023 - venda_2022) / (venda_2022)

# Análise condicional da variação percentual para determinar a sugestão a ser enviada
if var_percentual > 20:
    print('Bonificação para o time de vendas.')
elif 2 <= var_percentual <= 20:
    print('Pequena bonificação para time de vendas.')
elif -10 <= var_percentual < 2:
    print('Planejamento de políticas de incentivo às vendas.')
else:
    print('Corte de gastos.')

Minha dúvida é: existe uma boa prática para isso ou da forma que eu fiz poderia gerar algum erro dependendo do número inserido no sistema?

Obrigado.
Bruno

2 respostas

Olá, Bruno! Tudo bem?

A diferença entre o seu código e o do instrutor está na forma como a variação percentual é calculada. Ambas as abordagens estão matematicamente corretas, a forma mais tradicional de calcular a variação percentual é a que o instrutor usou, multiplicando por 100 para obter o valor em porcentagem. Mas reforço que a sua forma também está correta.

A boa prática aqui é optar pela clareza do código. A abordagem do instrutor deixa explícito que estamos calculando uma variação percentual, já que o resultado final é multiplicado por 100, o que pode ser mais intuitivo para quem está lendo o código.

Quanto à questão de gerar erros, ambos os métodos são seguros desde que venda_22 (ou venda_2022) não seja zero, pois isso causaria uma divisão por zero, que é um erro em programação. Para evitar isso, você pode adicionar uma verificação antes do cálculo, como:

if venda_22 == 0:
    print("Erro: a quantidade de vendas em 2022 não pode ser zero.")
else:
    var = venda_23 / venda_22 - 1
    # Continue com o resto do seu código

Você conseguiu entender a diferença entre as duas abordagens de cálculo?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Oi Monalisa, tudo bem?
Muito obrigado pelo retorno. Ficou super claro a diferença.

Inclusive, lendo a sua resposta me fez pensar que é melhor usar em percentual mesmo. Trazendo pro meu dia a dia, exportar uma tabela com o número em percentual facilita na manipulação do dado. Seria somente colocar a formatação em % no excel, por exemplo.
Da forma que eu fiz o código eu teria que dividir o resultado por 100 e assim usar a formatação em %.

Muito bom.
Obrigado.