1
resposta

Contagem Regressiva

Aline está implementando uma funcionalidade que exibe mensagens personalizadas para os clientes durante uma promoção especial da sua nova loja de livros. O sistema deve exibir uma mensagem de contagem regressiva personalizada para cada número de 10 até 1, e ao final exibir a mensagem: "Aproveite a promoção agora!".

Crie um programa que utilize um laço for para exibir as seguintes mensagens:

  • Para números pares, exiba: "Faltam apenas <número> segundos - Não perca essa oportunidade!".
  • Para números ímpares, exiba: "A contagem continua: <número> segundos restantes.".
  • Ao final da contagem, exiba a mensagem: "Aproveite a promoção agora!".
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!")

Faltam apenas 10 segundos - Não perca essa oportunidade!
A contagem continua: 9 segundos restantes.
Faltam apenas 8 segundos - Não perca essa oportunidade!
A contagem continua: 7 segundos restantes.
Faltam apenas 6 segundos - Não perca essa oportunidade!
A contagem continua: 5 segundos restantes.
Faltam apenas 4 segundos - Não perca essa oportunidade!
A contagem continua: 3 segundos restantes.
Faltam apenas 2 segundos - Não perca essa oportunidade!
A contagem continua: 1 segundos restantes.
Aproveite a promoção agora!
1 resposta

Olá, Andressa. Como vai?

Seu código ficou simplesmente perfeito! Você aplicou muito bem a lógica do laço for junto com a função range(), utilizando o passo -1 para fazer o decremento correto de 10 até 1. Além disso, a verificação com o operador de módulo % para separar os números pares dos ímpares foi implementada de forma impecável.

Para enriquecer ainda mais os seus estudos e trazer algumas boas práticas do mundo Python, gostaria de compartilhar um pequeno detalhe sobre a concordância gramatical e uma alternativa de estrutura:

1. Ajuste de Plural (Boa Prática de Experiência do Usuário)
Quando a contagem chega ao número 1, a mensagem exibe "1 segundos restantes". Para deixar o sistema da loja de livros ainda mais profissional, podemos tratar o número 1 no formato singular:

for numero in range(10, 0, -1):  
    if numero % 2 == 0: 
        print(f'Faltam apenas {numero} segundos - Não perca essa oportunidade!')
    else: 
        # Condicional inline para ajustar entre "segundo restante" ou "segundos restantes"
        termo = "segundo restante" if numero == 1 else "segundos restantes"
        print(f'A contagem continua: {numero} {termo}.')

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

**2. Utilizando a cláusula else do laço for**
O Python possui uma característica bem peculiar e elegante: você pode acoplar um else diretamente no final de um laço for. Esse bloco é executado de forma automática assim que o loop termina de percorrer todos os números, sem que você precise colocar o print solto no final do arquivo:

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.')
else:
    # Este bloco executa assim que o loop termina com sucesso
    print("Aproveite a promoção agora!")

Ambas as formas chegam ao mesmo resultado final, mas conhecer essas variações te ajuda a escrever códigos cada vez mais expressivos e idiomáticos no Python.

Parabéns pela resolução do desafio e pela excelente formatação do seu tópico!

Espero que possa ter lhe ajudado!