1
resposta

Contagem Regressiva

for segundos in range(10, 0, -1):  
    if segundos % 2 == 0: 
        print(f"Faltam apenas {segundos} segundos - Não perca essa oportunidade!")
    else: 
        print(f"A contagem continua: {segundos} segundos restantes.")

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

Olá, Juliana. Como vai?

O seu código está excelente! Você utilizou a função range() de uma maneira muito inteligente para criar a contagem regressiva, além de aplicar uma lógica condicional precisa para alternar as mensagens promocionais de acordo com o valor da variável segundos.

A estrutura que você montou no laço for demonstra um ótimo entendimento técnico dos três parâmetros que a função range(start, stop, step) aceita em Python:

  • 10 (start): O ponto de partida da contagem.
  • 0 (stop): O limite de parada (lembrando que em Python o valor de parada é exclusivo, ou seja, o laço vai parar no número 1).
  • -1 (step): O passo negativo, que dita que a contagem deve retroceder de um em um.

Para complementar o seu aprendizado e agregar ainda mais valor a esse projeto de contagem regressiva, trago duas sugestões e boas práticas bem interessantes:

  • Simulação de Tempo Real: Na execução atual do terminal, o Python processará todos os números instantaneamente. Se você quiser criar o efeito real de um cronômetro esperando um segundo entre cada mensagem, podemos importar o módulo nativo time e usar a função time.sleep(1).
  • Identação do print final: A sua última linha de código está perfeitamente posicionada fora do bloco do for (sem espaços no início), o que garante que ela seja executada apenas uma vez, logo após o término de toda a contagem. Essa é a forma correta de finalizar fluxos de repetição!

Veja como o seu código ficaria adicionando o efeito de tempo real:

import time

for segundos in range(10, 0, -1):  
    if segundos % 2 == 0: 
        print(f"Faltam apenas {segundos} segundos - Não perca essa oportunidade!")
    else: 
        print(f"A contagem continua: {segundos} segundos restantes.")
    
    time.sleep(1)  # Aguarda exatamente 1 segundo antes da próxima iteração

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

Curiosidade técnica: O operador de resto da divisão % (módulo) que você usou para testar segundos % 2 == 0 é a ferramenta mais eficiente na programação para identificar números pares e ímpares, além de ser muito útil para criar layouts zebrados ou alternar comportamentos em sistemas de forma automatizada.

Parabéns pela excelente resolução da atividade!

Espero que possa ter lhe ajudado!