【Python二次元リスト】IF文と論理積and、論理和orで、「市松模様」のドット絵を作成

この記事を読むことによって、

内包表記の二重ループ

論理演算子のandとorの使い所

上記によってPythonで市松模様のドット絵を描画

の概要を掴めます。

主に、Pythonの二重ループを学習中で、規則的で簡単なドット絵を描きたい方を対象にしています。

題材は、1つおきに色が塗りつぶされている市松模様です。
Excelで完成形を作成致しました。

この図を見ての通り、2で割り切れる行 and 2で割り切れる列の所に色が塗りつぶされています。
また、2で割り切れない行 and 2で割り切れない列の所に色が塗り潰されています。

これをPythonで作って行きます。
まずは、この様な枠線のみを作成致します。

ここでは最初に内包表記を使ってリスト(配列)の全ての要素に「□」で埋めます。
10行10列の□を取り出すには、リストarrayを行ごとに取り出す変数line、lineからドットごとに取り出す変数dotを使った二重ループで、内ループの所で改行することによって、次の行に行く前に改行をしています。

#市松模様の二次元リストを内包表記で作成
array=[['□' for i in range(10)] for j in range(10)]

#ドット絵の取り出し
for line in array:
  for dot in line:
    print(dot,end='')
  print()

実行結果です。

では、これを一つ置きに「■」に置き換えて行きます。

リストは0行0列から始まります。
このリストarrryは1番最初がarray[0][0]、1番最後がarray[9][9]です。
そこで、一つ置きになるように、IF文の中で論理演算子のand と or を使い、
「2で割り切れる行 and 2で割り切れる列」 or
「2で割ると1余る行 and 2で割ると1余る列」を「■」にします。

#市松模様の二次元リストを内包表記で作成
array=[['□' for i in range(10)] for j in range(10)]

#市松模様の1つ置きに■を格納(i,j共に偶数・i,j共に奇数の時に■)
for i in range(len(array)):
  for j in range(len(array[0])):
    if(i%2==0 and j%2==0) or (i%2==1 and j%2==1):
      array[i][j] = '■'

#ドット絵の取り出し
for line in array:
  for dot in line:
    print(dot,end='')
  print()  

実行結果です。

お疲れ様でした。ブレイクタイムPhotoは、

柏市にある、あけぼの山農業公園のひまわりです。

ご精読ありがとうございました。

■ 独習Python ■
Kindle版
単行本(ソフトカバー)

Python自作サンプル集へ戻る

写真クリエイターとしての活動
自己紹介

【Pythonループ】ループとIF文の中の論理演算子「or」で、「3時のヒロイン」さん登場!!

この記事は、Pythonのループで、「3時のヒロイン」さん(郷ひろみさんと一緒に「にしたんクリニック」のCMに出演している、吉本興業所属の芸人さん)を例に、

・ループの中でIF文と論理演算子or(または)を使う

・3時 or 15時の時にメッセージを表示する


・strで数字を文字列と一緒に表示する

・「\n」で改行する

とったコードを掲載して、解説しております。

3時のヒロインさんのプロフィールです。

このCMですね。
「♪ た〜ん、たん、にしたん、たんたんた〜ん」
タンバリンを持って踊っている所が可愛いです。


そこで、Pythonでループを使って、3時と15時の時に3時のヒロインさんに登場して頂きます。

このループでは、range(24)で0時から23時まで表示させます。
ループ内の変数はhourを用います。

論理演算子のorを使って、hourが3時 or 15時の時にprint文に3時のヒロインさんを登場させるといった、シンプルなループになっています。

#3時と15時に「3時のヒロイン」さん登場!!
for hour in range(24):
  if hour==3 or hour==15:
    print("<<<【"+str(hour)+"時】のヒロインさん登場>>>\n")
  else:
    print(str(hour)+"時")

実行結果です。


お疲れ様でした。ブレイクタイムPhotoは、

スカイツリーと河津桜のコラボです。
このライティングは日向坂46の楽曲、『JOYFUL LOVE』の虹色のカラーです。
3時のヒロインさんは、日向坂46四期生の冠歌番組「ひなパレ」のMCを務めました。

ご精読ありがとうございました。

■ 独習Python ■
Kindle版
単行本(ソフトカバー)

Python自作サンプル集へ戻る

写真クリエイターとしての活動
自己紹介

モバイルバージョンを終了