Oi Clea! Tudo bem?
O laço for é geralmente usado quando você sabe de antemão quantas vezes o bloco de código precisa ser executado. É ideal para iterar sobre sequências como listas, tuplas, strings ou intervalos de números. Por exemplo, se você quer contar de 10 até 1, o for é uma boa escolha porque você sabe exatamente quantas iterações serão feitas.
Por outro lado, o while é mais adequado quando você não sabe quantas vezes o laço precisará ser executado, mas tem uma condição que determina quando parar. É útil para situações em que o número de iterações depende de algo que acontece dentro do laço.
No seu exemplo, você usou um while para fazer uma contagem regressiva. No entanto, como você sabe que a contagem vai de 10 a 1, um for poderia ser mais apropriado. Veja como ficaria:
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!')
Neste caso, o range(10, 0, -1) cria uma sequência de números de 10 até 1, decrementando de 1 em 1, que é exatamente o que você precisa para a contagem regressiva.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.