Utilizando o laço for, de fato o programa fica mais simples e elegante. Não obstante, num primeiro momento me pareceu mais intuitivo o uso do laço while para a resolução do problema, de tal maneira que foi este último que utilizei em minha solução. Notei que outros colegas, que compartilharam suas respectivas soluções, também usaram o método while. Aqui fica uma questão mais de caráter "filosófico" que técnico: há alguma razão distinta de minha particular falta de experiência e habitualidade com programação para que, neste caso em específico, o método while pareça mais intuitivo que o método for, apesar da solução com este último ser mais objetiva, simples e elegante?
import time
contador = 10
while contador > 0:
if contador % 2 == 0:
print(f'Faltam apenas {contador} segundos – Não perca essa oportunidade!')
contador = contador - 1
time.sleep(1)
elif contador % 2 == 1:
print(f'A contagem continua: {contador} segundos restantes.')
contador = contador - 1
time.sleep(1)
if contador == 0:
print('Aproveite a promoção agora!')
Aliás, fiz uma implementação de contagem regressiva de tempo utilizando a biblioteca import time e o método sleep.