この記事を読むことで、
二次元配列とループとIF文を組み合わせ
ループの中でenumerate関数を使用
上記によりPythonでドット絵を描画
が可能になります。
今回書くドット絵は、ギャルな感じで「まじ卍」の「卍」を描いてみます。
配列の要素が1だったら「■」、0だったら「半角スペース」をドットとして出力します。
二次元リストを扱うので、最後の列の所まで行ったらドットを出力した後に改行します。
要素の中身(ドット)と、リストの添字(i,j)を扱うので、enumerateを使います。
リストの最後の要素は、リストの添字が0から始まるので、リストの長さ-1になります。
jがリストの長さ-1になりましたら、ドットを出力した後に改行をします。
元になる、二次元配列「Manji」です。
#書きかけ
実行結果とコードです。
リストの「列の」長さは下記のように求めます。
Heart[0]としているのは、リストの長さは各行同じなので、リストHeartの1行目の、
すなわちHeart[0]の長さを求めます。
リストの添字が0から始まるので、このように-1しています。
num=len(invader[0])-1
numに列-1が入りました。
ループの中でIF分岐を使ってドット絵を書いていきます。
行をi、列をjとしています。
jがnumと等しく無い時(j!=num)、1行分のドットを表示させるので、改行させません。
jがnumと等しい時(j==num)は、ドットを出力してから改行しています。
jがnumと等しくない、and(且つ)、ドットが1の時は「■」を出力、ドットが0の時は「半角スペースを出力」しています。
jがnumと等しい、且つ、ドットが1の時、0の時はドットの出力後に改行しています。
for i,mark in enumerate(Heart):
for j,dot in enumerate(mark):
if j!=num and dot==1:
print('■',end='')
elif j!=num and dot==0:
print(' ',end='')
else:
if j==num and dot==1:
print('■')
elif j==num and dot==0:
print(' ')
ここまでの全コードと実行結果は、この様になります。
#書きかけ
お疲れ様でした。ブレイクタイムPhotoは、

千葉県 房総半島 外房 御宿の海です。
ご精読ありがとうございました。
■ 独習Python ■
Kindle版
単行本(ソフトカバー)