【Python2重ループ】二重ループと論理積and、論理和orで、オリンピックイヤーの市松模様

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

題材はオリンピックで話題になった、市松模様です。

今日は2021年12月31日の大晦日、もうすぐオリンピックイヤーも終わります。
そこで、今年の締めのプログラミングとして、Pythonで二重ループを使って、市松模様を作りました。

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

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

#市松模様の□を格納
array=[['□' for i in range(20)] 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][19]です。
そこで、一つ置きになるように、「2で割り切れる行、且つ2で割り切れる列」または「2で割ると1余る行、且つ2で割ると1余る列」を「■」にします。

#市松模様の□を格納
array=[['□' for i in range(20)] 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()    

2021年(令和3年)東京オリンピックで特に印象に残っているのは、スケボー女子の西矢椛選手の真夏の大冒険と飛び込みの玉井陸斗選手です。

読者さまのご覧になる時期によっては季節外れになってしまうかも知れませんが、良いお年をお迎え下さい。

最後までお読み頂きありがとにゃん(=^x^=)

■ 参考文献の紹介 ■
じっくり丁寧にPythonを学びたい方向けの書籍を紹介します。

Pythonを基礎から中級程度まで丁寧に学びたい方におすすめの書籍です。
まずはpaizaラーニングなどの学習コンテンツで1〜2巡(苦手な所は納得がいくまで何巡でも)してからこの本で学ぶと、自分の学習状況をブログなどでアウトプット出来るようになり、また、エラーなどの不明点を調べられる力もついていきます。

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

プログラミングのアンケートにご協力頂ける方はこちらのフォームで勉強法など色々と教えて下さい。

投稿者: nekosiestr

プログラミング学習中のロスジェネ(就職氷河期世代)の発達障害者です。 宜しくお願いします。 趣味で写真を撮っています。 プログラミングは、GAS/HTML/CSS/JavaScript/jQuery/PHP、 発達障害は、自閉症スペクトラムASD/ADHD、その他双極性障害やHSP(5人に1人の繊細さん)などの生きづらさを抱えておりますが、それでも楽しく生きて行きたいです!! 写真は、以前はコンパクトデジカメ、現在は、OLYMPUSミラーレス一眼を使っています。

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