Ir para o conteúdo
PyPro PyPro
Artigos Cursos Projetos Missão Sobre nós Contato

Dicas Pythônicas

Como Implementar uma Contagem Regressiva em Python

Contagem Regressiva em Python

Por Dilermando Piva Jr. · 29/01/2025

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.

← Voltar para artigos

pyPRO - Python para todos.

Instagram YouTube LinkedIn X (Twitter)