課題1 奇数と偶数の判定
ここまでで覚えた for 文と if 文を使って 1 から 10 までの整数が偶数か奇数かを判定するプログラムを作りましょう.ヒント として,割る (/)の代わりに%を使うと割った際の余りを出してくれます. 偶数の場合は”Even”, 奇数の場合は”Odd”をそれぞれ出力することとします. ファイル名は Answer_1.py とします.
課題2 九九の計算表
1 から 9 までの配列と for 文を使って 9 行 9 列の九九の計算結果を print 文で示しましょう.なお, print文は特に指定がない場合に改行を行います. print 文の( )内で end=” ”を入力すると 改行を行わずにスペース だけを出力してくれます. 例えば,print(“ACE!”, end=” “)といった形です. もし, 改行をしたければ改行を行う タイミングでprint(“ “)を入力すれば OK です. ファイル名は Answer_2.pyとします.
本課題は参考図書の課題を丸々いただいてます。すいません。
課題3 国の出現回数をカウントしよう
こちらで指定したリスト[“Tokyo”,”Russia”,”USA”,”Russia”,”USA”,”Russia”]から各国の出現回数を辞書で数え上げましょう。考え方としては、国名とゼロからなる辞書を作成してリストの要素を順次読み込み、その国が出現するたびにその数値を+1していく感じです。
回答
Answer_1.py
- Array = [1,2,3,4,5,6,7,8,9,10]
- for i in Array:
- if i % 2 == 0:
- print(“Even”)
- else:
- print(“Odd”)
-
解説
偶数は2で割り切れる値なので,%2をした時に余りが0となる場合に Evenを出力する条件式を書けばよいということになります.Oddは背反事象なのでelseで条件を当てはめます.
偶数は2で割り切れる値なので,%2をした時に余りが0となる場合に Evenを出力する条件式を書けばよいということになります.Oddは背反事象なのでelseで条件を当てはめます.
Answer_2.py
- Array = [1,2,3,4,5,6,7,8,9]
- for i in Array:
- for j in Array:
- print(i*j, end=” “)
- print(“ “)
-
解説
9行9列の2次元配列を取り扱う際にはfor文の中にfor文という2重の記法が必要になります.はじめのfor文では,i = 1が変数として扱われます.次に,for i in Arrayのネストにある変数jの繰り返し文でj = 1が変数として扱われます.更に, for j in Arrayのネストにあるprintを読み込みます.そのため,はじめに1×1の結果が出力されます.次に,直上にあるfor j in Arrayに戻り,j = 2の場合の計算が行われます.従って,1×2の結果が出力されます.これをArrayの最後の値である1×9まで繰り返します.この間,end=” “がprint文で指定されていますので改行は無く,1 2 3 … 9が横並びに表示されているはずです.
9行9列の2次元配列を取り扱う際にはfor文の中にfor文という2重の記法が必要になります.はじめのfor文では,i = 1が変数として扱われます.次に,for i in Arrayのネストにある変数jの繰り返し文でj = 1が変数として扱われます.更に, for j in Arrayのネストにあるprintを読み込みます.そのため,はじめに1×1の結果が出力されます.次に,直上にあるfor j in Arrayに戻り,j = 2の場合の計算が行われます.従って,1×2の結果が出力されます.これをArrayの最後の値である1×9まで繰り返します.この間,end=” “がprint文で指定されていますので改行は無く,1 2 3 … 9が横並びに表示されているはずです.
for j in Arrayが終わると,ネストを抜けてprint(“ “)が実行されます.これはヒントにあったように改行をしています.ここまででfor i in Arrayの一周目が終わりました.次にfor i in Arrayの二周目,すなわちi = 2のループです.ここでは2×jの計算が逐次行われ,2 4 6 … 18が横並びに表示されていきます.これをi = 9まで繰り返すことで9行9列の九九の計算結果が表示されます.
課題3
>>> Data = [“Tokyo”,”Russia”,”USA”,”Russia”,”USA”,”Russia”] >>> Dic = {“Tokyo:0,”Russia”:0,”USA”:0} >>> for d in data: Dic[d] += 1 Dic
解説
これはそこまで難しくないと思います。国名リストから予め辞書を作成してそのvalueを0とします。次に、元のリストをfor文で回し、その時のkeyをトリガーにしてそこのカウント数を+1していきます。
これはそこまで難しくないと思います。国名リストから予め辞書を作成してそのvalueを0とします。次に、元のリストをfor文で回し、その時のkeyをトリガーにしてそこのカウント数を+1していきます。
