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.
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.
2 replies on “Faça chover no seu terminal com este script Python”
[…] http://codegolf.stackexchange.com/questions/107545/its-raining-in-terminal. https://elias.praciano.com/2017/01/faca-chover-no-seu-terminal-com-este-script-python/. […]
Muito massa …