36歳が初めてプログラムを勉強してみる(15日目)
今日もpaizaでPythonの勉強しました。
今日学んだことです。
【学んだこと】
・2次元リストを使ってドット絵を表示してみた
・3次元リストを使ってドット絵を表示してみた
それぞれ次のようなことをやりました。
【やったこと】
●2次元リストを使ってドット絵を表示してみた
今回は2次元リストを使って、簡単なdot絵を表示してみました。
【ドット絵を作成する方法】
2次元リスト変数 =[["要素1", "要素2","要素3", "要素4","要素5"],
["要素6", "要素7","要素8", "要素9","要素10"],
["要素11", "要素12","要素13", "要素14","要素15"],
["要素16", "要素17","要素18", "要素19","要素20"],
["要素21", "要素22","要素23", "要素24","要素25"]]
#ループでドット絵を出力する
for 変数 in リスト2次元リスト変数:
for 変数2 in 変数:
if 変数2 == "True":
print("適当な記号", end = "")
else:
print("空白", end = "" )
print() print()
それでは実際のコードを見ていきましょう。
--コード--
dot = [[0,1,0,0,0,0],
[1,1,1,1,1,1],
[0,1,0,0,1,0],
[0,1,0,0,0,0],
[0,1,1,1,1,1]]
for list1 in dot:
for list2 in list1:
if list2 == 1:
print("#" , end = "")
else:
print(" " , end = "")
print()
print(list2)
--出力結果--
#
######
# #
#
#####
このコードでは、dot変数にカタカナの「セ」が表示されるように「0、1」を配置して格納しています。
最初のfor文で1行ずつ1つ目のリストを取り出し、2つ目のfor文でさらにリストの中をlist2の変数に代入しています。
その後、if文を利用して、もしlist2の値が「1」であれば、「#」を出力し、そうでない場合は「空白」の文字列を出力しています。
最後に、改行するためのprint関数を使っています。
結果はちゃんとカタカナの「セ」が出力されました。
・3次元リストを使ってドット絵を表示してみた
続いては、3次元リストを使って、簡単なdot絵を表示してみました。
【ドット絵を作成する方法】
2次元リスト変数 =[["要素1", "要素2","要素3", "要素4","要素5"],
["要素6", "要素7","要素8", "要素9","要素10"],
["要素11", "要素12","要素13", "要素14","要素15"],
["要素16", "要素17","要素18", "要素19","要素20"],
["要素21", "要素22","要素23", "要素24","要素25"]],
[ ["要素26", "要素27","要素28", "要素29","要素30"],
["要素31", "要素32","要素33", "要素34","要素35"],
["要素36", "要素37","要素38", "要素39","要素40"],
["要素41", "要素42","要素43", "要素44","要素45"],
["要素46", "要素47","要素48", "要素49","要素50"]]]
#ループでドット絵を出力する
for 変数 in リスト3次元リスト変数:
for 変数2 in 変数:
for 変数3 in 変数2:
if 変数3 == "True":
print("適当な記号", end = "")
else:
print("空白", end = "" )
print()
それでは実際のコードを見ていきましょう。
--コード--
dot =[[[0,1,0,0,0,0],
[1,1,1,1,1,1],
[0,1,0,0,1,0],
[0,1,0,0,0,0],
[0,1,1,1,1,1]],
[[0,0,0,0,0,0],
[0,1,0,1,0,0],
[0,1,0,1,0,1],
[0,1,0,1,1,0],
[1,0,0,1,0,0]],
[[0,0,0,0,0,0],
[1,1,1,1,1,1],
[0,0,0,0,1,0],
[0,0,0,1,0,0],
[0,0,1,0,0,0]]]
for list1 in dot:
for list2 in list1:
for list3 in list2:
if list3 == 1:
print("@", end = "")
else:
print(" ", end = "")
print()
--出力結果--
@
@@@@@@
@ @
@
@@@@@
@ @
@ @ @
@ @@
@ @
@@@@@@
@
@
@
このコードでは、以下のようになっています。
1.1つ目のfor文で3次元リストの3つのリストを取り出しています。
2.2つ目のfor文で1リスト毎に取り出ししています。
3.3つ目のfor文でリストの中の文字を1つずつ取り出しています。
4.if文でリストの文字が「1」だった場合、「@」を出力し、それ以外だった場合に空白を出力しています。
5.最後のprint関数は改行に使っています。
そして、結果として、「セルフ」という文字を出力してみました。
本日はここまでです。
以上です。ありがとうございました。
この記事が気に入ったらサポートをしてみませんか?