No. 098 ビンゴその1
ビンゴゲームのカードを作るプログラムを作ろう。縦5マス、横5マス、計25マスのそれぞれに1〜75までの数字をランダムに配置する※。同じ番号は2回以上配置しない。作成したカードは、実行例のようにタブ(\t)を開けて表示すること。
※一般的なビンゴカードは、縦の5列それぞれは1〜15、16〜30、31〜45、46〜60、61〜75のそれぞれの数字のうち5つずつを配置し、中央のマスはフリーとしているが、ここでは簡単のためにこのようにしている。余裕があれば一般的なカードを作ってるとよいだろう。
実行例
26 64 27 23 17
34 54 65 37 25
24 30 8 57 44
35 68 43 3 18
13 42 38 73 10
ヒント:同じ番号を2回配置しないための方法としては、例えば75個の数字を配列に入れてランダムに順番をシャッフルし(No.84参照)、先頭から順番にカードに配置していけばよい。他にも方法は考えられる。カードは、No.98のために2次元配列で表現するのがよい。
この問題では、1~75の異なる数字をランダムに25個選び、5×5のビンゴカードとして表示するプログラムを作成します。
まず、考えるべきポイントは次のとおりです:
- 1~75の数字を重複なくランダムに選ぶ方法
→ 配列をシャッフルして先頭25個を取る 方法が簡単。 - 5×5のビンゴカードに配置する方法
→ 二次元配列(リストのリスト) を使うのが良い。 - タブ区切り(\t)で整列して表示する
→print()の中で\tを使う。