はじめに¶
Jupyter Notebook上で数字のカウントダウン(カウントアップ)をリアルタイムで表示するようなコードを書きました.
何に使えるのかは謎ですが,おもしろかったので披露します.
コード¶
大枠は,HTMLをNotebook上で表示させるという感じ.
In [1]:
import time as time
from IPython.display import display, HTML, clear_output
In [2]:
for i in range(10):
time.sleep(1)
clear_output(wait=True)
display(HTML("<font size=7>Loop:" + str(i) +"</font>"))
今回はアニメーションにしなかったので最後の9だけが表示されていますが,上記コードを実行するとちゃんとリアルタイムでカウントアップされます.
clear_output
することで表示の重複を避けています.これがないと毎回新しく数字が表示されるので少しめんどくさい.
ちなみにパラメータwait
で次のoutputが用意できるまで今のoutputを表示し続けるかを設定できる.
たぶん(表示の)クリアの発動タイミングの話だと思う.wait=True
だと次のoutputが用意されたらクリア発動し,wait=False
では問答無用でそのコードの実行タイミングでクリアが発動される.
wait=True
の方が表示は滑らかに見えるだろうなと思って試してみたが,実際そうだった.
In [3]:
for i in range(3):
time.sleep(1)
#clear_outputなし
#clear_output(wait=True)
display(HTML("<font size=7>Loop:" + str(i) +"</font>"))
おわりに¶
HTMLをわりと素直に記述できるのでいろいろ応用がききそう.今回は以上です.