退屈なことはPythonにやらせよう【4.10.2 文字絵グリッド】

2024-11-28 by 内田裕之

こんにちは。

Pythonで業務効率化を図るうっちゃんです。

いまは「退屈なことはPythonにやらせよう」という本でPythonを学習しています。


退屈なことはPythonにやらせよう 第2版 ―ノンプログラマーにもできる自動化処理プログラミング

今回は演習プロジェクト4.10.2 文字絵グリッドの解答です。

この記事は内容に広告・プロモーションを含みます。

■目次

  1. 演習内容
  2. 解答

演習内容

アイディアの画像

例えば次のようなリストのリストがあり、内側のリストの各要素は1文字の文字列であるとします。


grid = [['.','.','.','.','.','.'],
        ['.','0','0','.','.','.'],
        ['0','0','0','0','.','.'],
        ['0','0','0','0','0','.'],
        ['.','0','0','0','0','0'],
        ['0','0','0','0','0','.'],
        ['0','0','0','0','.','.'],
        ['.','0','0','.','.','.'],
        ['.','.','.','.','.','.']]
        

grid[x][y]を、文字で描かれた絵のx,y座標の文字だと考えることができます。

(0,0)は左上隅であり、x座標は右向きに増え、y座標は下向きに増えていきます。

上記のgridの値を受け取り、次のような絵として表示するコードを書きなさい。

..00.00...
.0000000..
.0000000..
..00000...
...000....
....0.....    
        

解答

私は以下のコードを書きました。


grid = [['.','.','.','.','.','.'],
        ['.','0','0','.','.','.'],
        ['0','0','0','0','.','.'],
        ['0','0','0','0','0','.'],
        ['.','0','0','0','0','0'],
        ['0','0','0','0','0','.'],
        ['0','0','0','0','.','.'],
        ['.','0','0','.','.','.'],
        ['.','.','.','.','.','.']]
    
spam = [[],
        [],
        [],
        [],
        [],
        []]

for i in range(len(grid)):
    for j in range(len(grid[i])):
        spam[j].append(grid[i][j])

for m in range(len(spam)):
    for n in range(len(spam[m])):
        print(spam[m][n],end='')
    print('')
        

Pythonを使った業務効率化プログラムも作っているので、他の記事もぜひご覧ください。

おすすめ記事

PythonでFXのデータを取得する方法【ALPHA VANTAGE】

2023年iDeCoのベストな投資先は【コモディティ】Pythonで投資分析した話

フォルダ内の画像をパワーポイントにまとめるプログラム