乱数を用いて10から15の範囲の整数を一つ発生させ,1からその数までを要素として持つリストを作成しましょう.
Random number: 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
解答例
2桁の正の整数を10個発生させ,それらを要素として持つリストを作成しましょう.
55 23 69 78 40 77 38 54 20 49 |
解答例
教科書 p.191 の例 7-33 では文字列として数字を出力していますが,以下のように数値として1から7までの奇数と偶数を要素に持つリストを作るプログラムを作成しましょう.
1 -2 3 -4 5 -6 7 |
要素が None が7つの空のリストをまず生成して,そこに数値を代入しています.解答例
max 関数と min 関数を使用して,乱数により発生させた2桁の正の整数10個の最大値と最小値を求めるプログラムを作成しましょう.
Random numbers: 49 35 27 49 99 93 14 55 99 63 The maximum: 99 The minimum: 14 |
* による要素表示は f文字列の中に {} で埋め込むことはできません.解答例
内包表記を使用して2次元リストを作りましょう.8×8のサイズとし,要素は0から255の範囲の整数値とします.
36 65 30 251 112 245 200 71 35 131 5 205 31 174 205 86 11 80 222 209 134 17 38 226 164 44 174 157 34 48 176 243 91 53 200 158 200 131 126 153 131 165 109 164 51 97 97 85 27 71 32 216 237 143 159 230 199 143 77 168 36 129 8 54 |
解答例 2 (教科書 p.202 にある文字列化を使用した例)
機械学習の基礎の基礎みたいなところを扱ってみましょう.現在主流のディープラーニングでは畳み込みニューラルネットワークという処理を利用しますが,その畳み込み処理の部分にある Max pooling という作業を体験してみましょう.ある範囲内の最大値を保存する処理です.
前問の方法で作成した行列に対して,2×2の重ならないエリアごとの最大値を持つリストを作り,以下のように値を表示させましょう.
83 89 102 57 178 58 110 170 114 33 188 26 238 105 36 106 11 86 104 109 91 176 40 206 246 11 62 213 49 71 84 133 160 186 190 82 245 45 253 103 78 185 129 60 34 165 167 45 252 15 154 87 191 194 38 181 206 100 138 255 171 223 132 75 114 188 238 170 246 213 176 206 186 190 245 253 252 255 223 181 |
元のリストの左上2×2の領域は
83 89
114 33
ですから,その最大値は114となり,下のリストの左上の要素が114になっています.また,次は
102 57
188 26
なので,その最大の188が下側のリストの要素になっています.このように進めていくので,1行目と2行目の数値の処理が終わると,3行目と4行目の2×2の重ならない領域ごとに最大値を出すことになり,下側のリストは4行4列です.
解答例