今回は「ランダム」について紹介するね!
サイコロとかじゃんけんとかガチャみたいな不確定要素が入ったプログラムを作れるようになるから覚えとこう!
クラスの係を自動で決める仕組みとかも作れそう!
そういう使い方も良さそうだね!
じゃあ早速、できること一覧を見てみようか
| 関数 | 説明 | 使用場面 | 例 |
|---|---|---|---|
| .random() | 0以上1未満のランダムな小数を返す | 確率、割合の処理 | random.random() |
| .randint(a, b) | aからbまでの整数をランダムに返す(両端を含む) | サイコロ、くじ引き | random.randint(1, 6) |
| .randrange(start, stop[, step]) | range()のような整数列からランダムに1つ返す | 偶数・奇数などの間引きくじ | random.randrange(0, 10, 2) |
| .choice(seq) | シーケンスから1つをランダムに選ぶ | 色選び、キャラ選び | random.choice(["赤", "青", "黄"]) |
| .choices(seq, k=1) | 重複ありでk個ランダムに選ぶ | ガチャ、複数選択 | random.choices(["A", "B", "C"], k=2) |
| .sample(seq, k) | 重複なしでk個ランダムに選ぶ | チーム分け、抽選 | random.sample(range(1, 11), 3) |
| .shuffle(seq) | シーケンスの順番をシャッフル | トランプ、並び順決め | random.shuffle(cards) |
| .uniform(a, b) | a以上b以下の小数をランダムに返す | ランダムな時間・距離など | random.uniform(1.5, 5.0) |
| .seed(x) | ランダムの結果を再現可能にする | 結果の固定、デバッグ | random.seed(42) |
← 横にスクロールして確認しよう! →
ちなみに、「.uniform(a, b)」や「.randint(a, b)」とかは最大値である「b」も含むけど、「.random()」については最大値である「1」を含まないって違いがあるから注意してね
意外と種類が多かった...!!
数字以外にもランダムに出したりできるんだね
とりあえず、どんな感じでプログラムが動くのか見てみよう!
ちゃんと出てくる数字が変わってるね!!
ところで、表を見た感じ数字以外もランダムに出すこともできるんだね
そうだね!例えば「.choice()」は配列や文字列から1つだけランダムで選択できるんだよ
まぁ「.randint()」を使えるようになれば、他のランダムの仕組みを再現はできるんだけどね
ホントだ...!
それでも、覚えておけばプログラムもシンプルで見やすくなるし処理も早くなるからちょっとでも覚えておくと良いよ!
分かった!
