広告あり
[スポンサーリンク]

【Python】初心者のための乱数生成 入門ガイド:randomモジュール活用術

Python

Python(パイソン)でプログラムを作るとき、乱数はゲームのシナリオやデータ分析などさまざまな場面で活躍します。randomモジュールはPython標準ライブラリとして提供されており、手軽に乱数を扱える便利なツールです。この記事では初心者の方向けに、randomモジュールの基本から応用までをやさしく解説していきます!

[スポンサーリンク]
[スポンサーリンク]

randomモジュールとは

randomモジュールは、疑似乱数(※真の乱数ではない)を生成するための機能をまとめたPython標準ライブラリです。
・さまざまな分布に従う乱数を簡単に取得できる
・標準ライブラリなので追加インストール不要
・シード(種)を指定して再現可能な乱数を生成可能

プログラミング学習の最初期から使える基本モジュールとして、ぜひ使い方をマスターしましょう。

モジュールのインポート方法

randomモジュールを利用するには、ファイルの先頭でimportします。

import random

この一行を追加すれば、以後random.から始まる関数を自由に呼び出せます。

乱数の基本: random()

random.random()は0以上1未満の浮動小数点乱数を返します。

for i in range(5):
    print(random.random())

実行例

0.837492451705
0.022145839237
...
...
...

小数点以下の乱数を扱いたいときは、まずこの関数を覚えましょう。

整数の乱数: randint() と randrange()

整数乱数には2種類あります。

  • random.randint(a, b)
    aからbまで(両端含む)の整数をランダムに返す
  • random.randrange(start, stop[, step])
    start以上stop未満の整数列からstep間隔でランダムに選ぶ
print(random.randint(1, 10))     # 1~10の整数
print(random.randrange(0, 101, 5))  # 0, 5, 10, ..., 100

ゲームのダイスロール(サイコロ)やスコア計算に便利です。

浮動小数点の範囲指定: uniform()

random.uniform(a, b)はa以上b以下の浮動小数点数を返します。

print(random.uniform(1.5, 3.5))  # 1.5~3.5の小数

乱数を細かく制御したいシミュレーションやグラフ描画で活躍します。

リストからのランダム選択: choice()

リストやタプルなどのシーケンスから1要素をランダムに選ぶにはrandom.choice()を使います。

cards = ['♠', '♥', '♦', '♣']
print(random.choice(cards))  # '♠', '♥', '♦', '♣'のいずれか

カードゲームやランダム抽選などの選択にぴったりです。

複数選択と並べ替え: sample() と shuffle()

  • random.sample(population, k)
    populationから重複なくk個を選んでリストで返す
  • random.shuffle(x)
    リストxをインプレース(同じ変数名のまま)でシャッフル(順序を変更)
numbers = list(range(1, 51))
print(random.sample(numbers, 6))  # ロト抽選の例
random.shuffle(numbers)           # numbersリストの中身をシャッフル
print(numbers[:5])                # シャッフル後の上位5つ

抽選、クイズの問題並び替え、デッキシャッフルなど幅広い用途があります。

乱数の再現性を保つ: シードの設定

乱数はシード(種)を与えることで、同じ乱数を再現できます。検証やデバッグ時に便利です。

random.seed(42)
print([random.random() for _ in range(3)])  # 常に同じ結果

シードに整数を指定すると、プロジェクト内で一貫した乱数生成が可能になります。

応用例

応用例1: ゲーム開発

  • 敵の出現位置や攻撃パターン
  • アイテムドロップの確率
  • キャラクターのステータス生成

ゲームロジックに乱数をうまく取り入れると、プレイヤーにほどよいランダム性を提供できます。

応用例2: データ分析・シミュレーション

  • モンテカルロ法による数値計算
  • テストデータのランダム生成
  • A/Bテストでのサンプル分割

randomモジュールで生成したデータを使って、現実世界の分析や予測を手軽に行えます。

注意点: 真の乱数ではない

randomモジュールは疑似乱数生成器(PRNG)を使っており、暗号用途には向きません。秘匿情報の取り扱いやセキュリティ要件がある場合は、secretsモジュールの利用を検討しましょう。

まとめ

randomモジュールはPython初心者が乱数を使い始めるうえで欠かせないツールです。

  • 基本のrandom(), randint(), choice()を覚える
  • sample()shuffle()でリスト操作
  • seed()で結果を再現可能に

Python標準ライブラリは公式ドキュメントが充実しています。
randomモジュールの全機能を確認したい場合は公式ドキュメントを確認しましょう!
random — 疑似乱数を生成する — Python 3.13.6 ドキュメント

シンプルなAPIながら応用範囲は広く、ゲームからデータ分析まで活用シーンが豊富です。ぜひこの記事を参考に、あなたのプログラミングに乱数の楽しさと可能性を取り入れてみてください!

[スポンサーリンク]

\ おすすめ書籍 /



この記事を書いた人
だんご丸

鉄鋼系SE歴 10年
金融系SE歴  6年
現在は音楽出版社のSE

●保有資格
初級システムアドミニストレータ
(現:ITパスポート)
基本情報技術者
応用情報技術者
情報セキュリティスペシャリスト
(現:情報処理安全確保支援士)
ネットワークスペシャリスト
情報セキュリティマネジメント
AWS認定クラウドプラクティショナー
AWS認定ソリューションアーキテクト - アソシエイト

だんご丸をフォローする
Python
[スポンサーリンク]
だんご丸をフォローする
[スポンサーリンク]
タイトルとURLをコピーしました