1
resposta

11 Contagem Regressiva

Resposta

#Laço para contagem regressiva de 10 até 1
for segundo in range(10, 0, -1):
# Verifica se o número é par
if segundo % 2 == 0:
print(f"Faltam apenas {segundo} segundos - Não perca essa oportunidade!")
# Se não for par, é ímpar
else:
print(f"A contagem continua: {segundo} segundos restantes.")

#Mensagem final após o término do laço
print("Aproveite a promoção agora!")

1 resposta

Olá, Deivide. Como vai?

Excelente resolução! Você aplicou com maestria o uso dos três argumentos da função range(10, 0, -1) para construir uma contagem regressiva perfeita. Indicar o passo negativo -1 é a forma correta de fazer o laço andar para trás no Python.

Além disso, a sua lógica para diferenciar números pares e ímpares usando o operador de resto da divisão (segundo % 2 == 0) ficou ótima. No marketing e na Inteligência de Vendas, essa estratégia de alternar mensagens ou criar gatilhos baseados em condições do tempo (como o senso de urgência) é muito poderosa para manter o cliente engajado em uma tela de checkout ou página de promoção.

Para agregar ainda mais valor à sua solução e trazer um toque de realismo para o comportamento desse script, separei duas dicas de implementação bem legais:


1. Criando um atraso real com a biblioteca time

No seu código atual, quando você o executa, o Python imprime todas as 10 linhas na tela de forma instantânea (em milissegundos). Para que uma contagem regressiva funcione como uma contagem de verdade na tela do usuário, podemos fazer o programa esperar exatamente 1 segundo antes de realizar a próxima repetição.

Para fazer isso, basta importar o módulo nativo time e utilizar a função time.sleep(1). Veja como o seu código ganharia vida:

import time

for segundo in range(10, 0, -1):
    if segundo % 2 == 0:
        print(f"Faltam apenas {segundo} segundos - Não perca essa oportunidade!")
    else:
        print(f"A contagem continua: {segundo} segundos restantes.")
        
    # Faz o Python pausar a execução por 1 segundo antes de ir para o próximo número
    time.sleep(1)

print("Aproveite a promoção agora!")

2. Simplificando a condição com expressões booleanas inversas

A sua estrutura com if e else está impecável. Apenas como uma alternativa de escrita que muitos programadores Python utilizam para deixar o código mais enxuto, você também poderia testar diretamente o valor lógico do resto.

Como qualquer número ímpar dividido por 2 deixa resto 1 (que o Python interpreta como True), e qualquer número par deixa resto 0 (interpretado como False), você verá códigos por aí escritos desta forma:

# Se o resto for 1 (ímpar), entra no IF diretamente
if segundo % 2:
    print(f"A contagem continua: {segundo} segundos restantes.")
else:
    print(f"Faltam apenas {segundo} segundos - Não perca essa oportunidade!")

Embora seja uma curiosidade técnica da linguagem, a forma como você construiu é muito mais legível e clara para quem está revisando o código.

Parabéns pelo excelente desempenho em toda essa sequência de exercícios de laços de repetição. Você demonstrou uma base sólida em lógica de programação!

Espero que possa ter lhe ajudado!