1
resposta

Contagem Regressiva - Laços For e While

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

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

1 resposta

Olá, Armando. Como vai?

Parabéns pela resolução do exercício! O seu código é um excelente exemplo de como utilizar a função range() de forma avançada para criar iterações decrescentes e como aplicar condicionais para mudar o comportamento do programa a cada volta do laço.

A sua lógica utilizando a estrutura range(10, 0, -1) foi perfeita. Vamos destacar os três argumentos que você passou para essa função, que são essenciais para entender por que ela funcionou tão bem:

  • 10 (Início): O ponto de partida da contagem regressiva.
  • 0 (Fim): O ponto de parada. Lembrando que o Python não inclui o número final, ou seja, ele vai parar de contar no número 1.
  • -1 (Passo): O segredo para fazer a contagem andar para trás. Indica que a cada iteração o Python deve subtrair 1 do número atual.

Além disso, a checagem de números pares com if numero % 2 == 0: para alternar as mensagens de marketing de urgência e contagem comum ficou muito criativa e dinâmica!

Apenas como um detalhe de organização do código (provavelmente por conta da formatação ao colar no fórum), atente-se sempre para manter a indentação correta. No Python, a linha final print("Aproveite a promoção agora!") precisa estar totalmente alinhada à esquerda (fora do laço for) para que ela seja executada apenas uma vez no final de toda a contagem. Caso contrário, se ela ficar com espaços no começo, ela será exibida em todas as rodadas.

O seu código com a indentação certinha fica assim:

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

print("Aproveite a promoção agora!")
  • Desafio prático: Criando uma contagem real com time.sleep

Para tornar essa sua automação de contagem de segundos ainda mais realista e idêntica aos relógios reais, você pode importar um módulo nativo do Python chamado time e usar a função time.sleep(1). Esse comando faz o programa pausar a execução por exatamente 1 segundo antes de ir para o próximo número.

Veja como fica divertido testar no terminal:

import time

for numero in range(10, 0, -1):
    if numero % 2 == 0:
        print(f"Faltam apenas {numero} segundos - Não perca essa oportunidade!")
    else:
        print(f"A contagem continua: {numero} segundos restantes.")
    time.sleep(1)  # Pausa o código por 1 segundo a cada volta

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

Parabéns pelo domínio dos loops decrescentes e pela estrutura do seu código! Continue compartilhando suas práticas por aqui.

Espero que possa ter lhe ajudado!