featured python logo

Faça chover no seu terminal com este script Python

A tarefa deste pequeno script Python é simular chuva no seu terminal.
O meu exemplo foi rodado com o Python 2, em uma máquina Debian Linux. Sinta-se à vontade para experimentar em outras plataformas contudo.

O script, abaixo, joga 100 “gotas” aleatórias de “chuva” no seu terminal e é um ótimo exemplo do uso da função random no Python.

Se você não tiver um compilador ou interpretador Python disponível, no momento, experimente um destes compiladores/interpretadores online.
python como fazer chover ou nevar no terminal
Veja o que mais o script faz:

  • o script usa o caractere “/” para representar as gotas de chuva. Mas você pode escolher qualquer outro.
    Se você trocar o caractere “/” para ” ‘ “, o efeito vai parecer que está caindo neve no seu terminal;
  • ao final da chuva, uma mensagem é exibida centralizada na tela.
  • roda em qualquer tamanho de terminal;

Segue o código:

import curses
import random
import time

myscreen = curses.initscr()
curses.curs_set(0) # no cursor please 
HEIGHT, WIDTH = myscreen.getmaxyx() 
RAIN = '/' # altere aqui a aparencia da sua gota de chuva 
TIME = 10 

def make_it_rain(window, tot_time, msg, wait_time, num_drops):
    """
    window    :: a janela no curses 
    time      :: duracao da chuva
    msg       :: mensagem exibida ao final da chuva
    wait_time :: tempo de espera entre cada quadro
    num_drops :: quantidade de gotas
    """
    for _ in range(tot_time):
        for i in range(num_drops):
            x,y=random.randint(1, HEIGHT-2),random.randint(1,WIDTH-2)       
            window.addstr(x,y,RAIN)
        window.refresh()
        time.sleep(wait_time)
        window.erase()

    window.refresh()
    window.addstr(HEIGHT/2, int(WIDTH/2.7), msg)


if __name__ == '__main__':
    make_it_rain(myscreen, TIME, 'IT HAS STOPPED RAINING!', 0.2, 100)
    myscreen.getch()
    curses.endwin()

Eu gravei o meu script com o nome de chuva.py
Compile, com o Python 2:

python2 chuva.py

Referências

http://codegolf.stackexchange.com/questions/107545/its-raining-in-terminal.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

2 comentários sobre “Faça chover no seu terminal com este script Python”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *