エスケープシーケンスによるちょっとおもしろい出力
コンソールでなにか文字を出力する際に、通常のやり方だとどんどん改行されていきます。
例えば、下記のPythonのコードを実行したとしましょう。
# -*- coding: utf-8 -*- for i in range(1,101): print("{}".format(i))
出力結果はただひたすら、1 2 3 … 100と改行されながら出力されます。
1 2 … 99 100
改行しないという指定とかもありますが、できればストップウォッチみたいな感じでカウントアップしたい…と考えていたところ、意外にも簡単なやり方でできるそうです。
それは、エスケープシーケンスの"\r"を加えること。ね、簡単でしょう?
たとえば、さきほどのコードをこのように改良します。
# -*- coding: utf-8 -*- import time for i in range(1,101): print("\r{}".format(i),end = "") time.sleep(0.5) print()
1〜100までうまくカウントアップされました。
このエスケープシーケンスですが、「キャリッジリターン」と呼ばれるもので、よくエディタにある"CR"のことだそうです。
このやり方を応用すると、なにかアルゴリズムを出力した際にずらずら〜っとならずに済むかもしれませんね(自己満足ですが)。