5 から 8 の整数のどれかを乱数により発生させ,次にその桁数の正の整数を乱数により発生させます.その数の各位の数を抜き出して以下のように表示するプログラムを作成しましょう.
Number of digits: 8 3 6 8 6 3 7 0 9 --> 36863709 |
前回の演習問題の v.でやったように数値を文字列化すると簡単にできます.出力を関数にするか,戻り値を出力するか,2つの解答例を用意しています.解答例1 画面出力を関数化
5月1日の演習問題の vi. のMaxプーリングの問題を関数を用いたものに変更しましょう.ただし,今回は6,8もしくは10のどれかの整数を乱数により発生させ,その数を行と列とする行列で行います.
Size of matrix: 10 25 47 158 243 105 232 98 179 190 109 4 159 200 71 196 94 196 153 40 204 172 88 83 36 148 93 122 80 253 129 88 71 183 34 68 215 188 232 129 59 191 63 209 94 46 56 249 74 195 66 181 247 36 131 203 206 29 241 81 95 149 72 159 228 16 97 167 121 134 255 141 185 29 49 114 163 80 108 67 212 193 235 45 128 180 249 89 157 102 69 150 165 74 38 218 66 133 165 79 248 159 243 232 196 204 172 183 215 232 253 247 209 206 249 195 185 228 163 167 255 235 128 249 165 248 |
Maxプーリングを行ったリストを返す関数としてみましょう.解答例
同じく5月8日の演習問題の i. の成績ソートを関数版にしてみましょう.今回は乱数でどの科目で並べ直すかを指定する形式とします.
Number Eng Math Phys Total S001 29 55 58 142 S002 83 78 94 255 S003 76 11 45 132 S004 1 58 73 132 S005 43 70 47 160 S006 96 42 81 219 S007 34 48 28 110 S008 27 33 21 81 S009 79 64 57 200 S010 67 64 71 202 Sort score by Math Number Eng Math Phys Total S002 83 78 94 255 S005 43 70 47 160 S009 79 64 57 200 S010 67 64 71 202 S004 1 58 73 132 S001 29 55 58 142 S007 34 48 28 110 S006 96 42 81 219 S008 27 33 21 81 S003 76 11 45 132 |
学生番号のところにもちょっとした工夫が必要です.解答例
ラムダ関数を使用し,sorted 関数に key を与えることで並べ替える操作の関数を簡単に作れます.
0から9までの整数を乱数により20個発生させます.また別にターゲットとなる数として0から9の整数をどれか1つ発生させます.ターゲットの数が何個出たかを数えるプログラムをラムダ式と filter 関数を使用して作成しましょう.
Numbers: 5 7 3 7 3 3 7 8 9 1 2 9 9 5 8 7 3 7 1 2 Target number: 2 Frequency: 2 |
filter 関数でチェックしてできたリストの長さを見れば,何回でたかがわかります.解答例