9x9をキレイに表示する方法 Python
Pythonプログラムで9×9を実行して、それをキレイに整列させて表示する方法と記号で9×9のマスを作成する方法を紹介します。
PythonプログラムはColaboratoryで実行しています。
目次
1.キレイじゃない表示
・通常の表示
・半角スペースを入れた表示
・水平タブを使った表示
・2次元リストの表示
2.キレイに表示
・format関数を使った表示
・記号で9×9のマスを作成
1.キレイじゃない表示
通常の表示
1 2 3 4 5 6 |
for i in range(9): for j in range(9): x=i+1 y=j+1 print(x*y,end="") print() |

通常の表示の仕方で、print(x*y)だと改行されて表示してしまうので、end=””を使って各行(1~9、2~18…)の改行をさせないようにしています。そして、1つの行が表示される度にprint()で改行しています。
この表示の仕方だと、数字同士の間隔が無いので見えにくいです。
半角スペースを入れた表示
1 2 3 4 5 6 |
for i in range(9): for j in range(9): x=i+1 y=j+1 print(" ",x*y,end="") print() |

半角スペースを入れた表示の仕方で、x*yの前にダブルクォーテーション(“”)の中に半角スペースを入れたものと一緒に表示しています。
数字同士の間隔を空けているので、見やすくはなっているのですが均等に整列はされていないです。
水平タブを使った表示
1 2 3 4 5 6 |
for i in range(9): for j in range(9): x=i+1 y=j+1 print(x*y,"\t",end="") print() |

水平タブ(¥tまたは\t)を使った表示の仕方で、整列はされて見やすいですが間隔が空きすぎています。
2次元リストで表示
1 2 3 4 5 6 7 8 9 10 11 12 |
data99=[] for i in range(9): data=[] for j in range(9): x=i+1 y=j+1 data.append(x*y) data99.append(data) #表示 for i in data99: print(i) |

2次元リストに数字を入れて表示するやり方で、9×9を入れたdata[]をもう1つのリストdata99[]に入れています。これだと見た目は半角スペースを使う表示の仕方とあまり、変わらないです。
キレイに表示する
format関数を使った表示
1 2 3 4 5 6 |
for i in range(9): for j in range(9): x=i+1 y=j+1 print("{0:>3}".format(x*y),end="") print() |

format関数で表示するやり方で、{0:>3}を指定して3桁分右揃えで表示しています。
format関数の使い方については下の投稿になります。
●format関数 左揃え<右揃え>カンマ(,) Python
記号で9×9のマスを作成
1 2 3 4 5 6 7 |
for i in range(9): for j in range(9): x=i+1 y=j+1 print("{0:>3}|".format(x*y),end="") print() print("-"*36) |

|と- の記号で9×9のマスを作成しています。“{0:>3}|”は3桁分右揃えで | の記号を付けた文字列にしています。print(“-“*36)は – の記号をカケル36をした文字列にしています。