Olá, caro leitor! Seja muito bem-vindo a mais uma edição da "Dicas Pythonicas".
No pyPRO, adoramos simplificar soluções comuns com abordagens práticas e elegantes.
Hoje, vamos mostrar como implementar uma contagem regressiva em Python com apenas uma linha de código. Isso é possível usando a compreensão de listas e alguns truques com atribuição.
Veja o exemplo:
import time
t = 60 # Tempo em segundos
[print(t := t - 1) or time.sleep(1) for _ in range(t)]
Como funciona?
- Inicialização: A variável t é inicializada com o valor de 60 segundos.
- Contagem Regressiva em Uma Linha:
- Compreensão de Lista: Utilizamos uma compreensão de lista para iterar t vezes.
- Atribuição com :=: O operador de atribuição := (operador walrus) decremente t em cada iteração.
- print() e time.sleep(1): Imprime o valor de t e pausa por 1 segundo entre cada decremento.
Com isso explicado, o código funciona da seguinte forma:
- Atribuição e Impressão: t := t - 1 decrementa o valor de t e o print() exibe o valor atual. O método time.sleep(1) faz o script esperar 1 segundo antes de continuar a próxima iteração.
- Saída: A contagem é exibida no console, com cada número decrescendo a cada segundo.
Vantagens
- Simplicidade: A solução é compacta e fácil de implementar em scripts curtos.
- Eficiência: Usar uma linha de código com compreensão de lista torna a abordagem elegante, embora não seja a forma mais convencional.
Espero que esta dica te inspire a criar contagens regressivas de maneira rápida e eficiente em seus projetos. Fique atento à próxima edição para mais dicas práticas em Python!
Um forte abraço,
Prof. Dr. Dilermando Piva Jr.
Idealizador do pyPRO
Visite: https://pypro.com.br para mais informações sobre Python, Ciência de Dados e Git/GitHub.