1. はじめに
Pythonでランダムな数値やデータを扱いたいときに便利なのが、randomモジュールです。
この記事では、Python初心者〜中級者の方に向けて、「Python|乱数を生成する:randomモジュール」をテーマに、randomモジュールの基本的な使い方から応用例、注意点までを丁寧に解説します。
このモジュールを使うことで、ランダムな数の生成、リストからのランダムな選択、シャッフルなど、幅広い処理が簡単に実現できます。ゲーム開発やデータ分析など、実務でも活用される場面が多いので、ぜひ使い方をマスターしましょう!
2. Pythonのrandomモジュールの基本
2-1. randomモジュールとは?
Pythonの標準ライブラリの一つであるrandomモジュールを使うと、擬似乱数(疑似的なランダム値)を簡単に生成できます。インストール不要で、import random
するだけで使えます。
2-2. 整数の乱数を生成:random.randint()
import random
# 1から10の範囲で乱数を生成
num = random.randint(1, 10)
print(f"ランダムな整数:{num}")
実行結果:
ランダムな整数:7
2-3. 0.0以上1.0未満の浮動小数点数を生成:random.random()
# 0.0以上1.0未満の乱数を生成
value = random.random()
print(f"ランダムな小数:{value}")
実行結果:
ランダムな小数:0.634578324
2-4. 範囲指定の小数:random.uniform()
# 5.0から10.0の範囲で乱数を生成
value = random.uniform(5.0, 10.0)
print(f"ランダムな小数:{value}")
実行結果:
ランダムな小数:7.4567432
3. よくある使い方・応用例
3-1. リストからランダムに要素を選ぶ:random.choice()
fruits = ['apple', 'banana', 'orange', 'grape']
picked = random.choice(fruits)
print(f"選ばれたフルーツ:{picked}")
実行結果:
選ばれたフルーツ:banana
3-2. 複数の要素をランダムに抽出:random.sample()
# 3つのフルーツをランダムに選ぶ
selected = random.sample(fruits, 3)
print(f"選ばれたフルーツ:{selected}")
実行結果:
選ばれたフルーツ:['orange', 'apple', 'grape']
3-3. リストをランダムに並び替える:random.shuffle()
numbers = [1, 2, 3, 4, 5]
random.shuffle(numbers)
print(f"シャッフルされたリスト:{numbers}")
実行結果:
シャッフルされたリスト:[3, 1, 5, 2, 4]
3-4. サイコロのような用途に便利
# サイコロを振る
dice = random.randint(1, 6)
print(f"サイコロの目:{dice}")
実行結果:
サイコロの目:4
4. 注意点・エラー対策
4-1. import忘れに注意
randomモジュールは標準ライブラリですが、import random
を忘れるとエラーになります。
エラー例:
NameError: name 'random' is not defined
4-2. 範囲外のsample()に注意
リストの要素数以上の数をrandom.sample()
で指定するとエラーになります。
# 要素数4に対して5個要求 → エラー
random.sample(fruits, 5)
エラー例:
ValueError: Sample larger than population or is negative
4-3. 毎回同じ乱数にしたい場合はrandom.seed()
検証やテストで毎回同じ乱数結果が欲しいときは、random.seed()
を使いましょう。
random.seed(42)
print(random.randint(1, 10))
実行結果:
10
5. まとめ
今回はPythonのrandomモジュールを使った乱数の生成方法について解説しました。以下のポイントを押さえておきましょう:
random.randint()
:整数の乱数random.random()
:0.0〜1.0の小数random.choice()
やsample()
:リスト操作shuffle()
:並び替え処理
実務でも、ランダムなデータ生成やゲームロジック、サンプルデータの作成など多くの場面で活躍するモジュールです。
学習のコツ: まずはコードを何度も実行して、「どう変化するのか」を体験的に理解することが大切です。randomは「動きがあるコード」なので楽しみながら学べます!