CodeIQの問題を解くのに random モジュールを調べたのでメモ。
cf. http://docs.python.jp/2.7/library/random.html
使った関数
random.randrange は指定された範囲の整数からランダムな整数を返す。
>>> import random >>> random.randrange(1, 100) 51
random.sample は母集団のシーケンスから選ばれたリストをかえす。リストの長さを指定する。
>>> random.sample(range(1,101), 10) [54, 3, 5, 58, 24, 18, 47, 57, 62, 40]
使ってない関数からいくつか
random.randint は整数a,bを指定しa≦N≦bであるような整数Nを返す。random.randrangeよりもこっちを使ったほうがよかったかも。
>>> random.randint(1,100) 20
random.choice は空でないシーケンスから要素をひとつ返す。
>>> random.choice(range(10)) 8
random.shuffle はシーケンスxを直接かき混ぜる。
>>> x = range(10) >>> x [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> random.shuffle(x) >>> x [6, 2, 3, 8, 5, 4, 1, 7, 9, 0]
random.random は値域[0.0,1.0)からランダムな浮動小数点数を返す。
>>> random.random() 0.7121347944194496
とりあえずこんなとこかな。