Python

【Python】乱数を使いこなそう|randomモジュールの使い方について

【Python】乱数を使いこなそう|randomモジュールの使い方について

こんにちもじゃもじゃ、もじゃめ(@mojame_blog)だよ。

今回はPythonで乱数を扱うrandomモジュールについて説明するもじゃよ。

私自身の忘却録も兼ねている、ということをご了承願いますもじゃ。

闇もじゃめ
闇もじゃめ
ランダムな動きって好きもじゃ…
もじゃめ
もじゃめ
基礎的な使い方を書いていくね!

今回ご紹介するのはごく一部なので、もっと深く知りたいという方は公式サイトをご確認願いますもじゃね。

randomモジュールとは

【Python】乱数を使いこなそう|randomモジュールの使い方について

まず初めにrandomモジュールについて簡単に説明させていただきますもじゃね。

randomモジュールは、Pythonにてランダムな処理を行いたいときに便利な標準モジュールもじゃよ。

ランダムな要素や乱数を使いたいな、という時に大活躍するので覚えておきましょうもじゃ。

簡単に乱数について説明させていただくと、よくサイコロを投げたときに出る目の数字で例えられるもじゃね。

サイコロは投げた時にはどの目が出るかわからないもじゃよね。

サイコロを振って出る数値は1〜6の範囲で決められていますが、

randomモジュールを用いれば範囲を自由に決めることができるもじゃね。

闇もじゃめ
闇もじゃめ
サイコロはよく例として使われるね…
もじゃめ
もじゃめ
自分で使いたいランダムな結果を作ってみようね!

randomモジュールの使い方

【Python】乱数を使いこなそう|randomモジュールの使い方について

それでは実際にrandomモジュールの基本的な使い方をご紹介していくもじゃね。

randomモジュールのimportを忘れないよう、一行目に書いておくことをおすすめするもじゃよ。

闇もじゃめ
闇もじゃめ
簡単に説明して欲しいもじゃ…
もじゃめ
もじゃめ
実際に手を動かしてみてね!

1未満のfloat型の乱数を取得する方法【random.random】

まず初めにrandomモジュールの中でよくみられるrandom.random関数を使ってみましょうもじゃ。

random.random関数は0.0から1.0の範囲でfloat型の値を返してくれるもじゃよ。

実際にみて確認してみましょうもじゃ。

毎回実行ボタンを押すのも億劫なので、試しに連続で5回実行して中身をみてみるもじゃね。

100回でも1000回でも確認したい場合はrange()の引数を変更してみてくださいもじゃ。

闇もじゃめ
闇もじゃめ
自分で色々数値を変えてみてね…

指定した範囲で乱数を取得する方法【random.uniform(a,b))】

先ほどご紹介したrandom.random関数は0.0<=x<1.0の間でランダムな値(xとする)をfloat型として返す関数でしたもじゃね。

0.0<=x<1.0の間ではなく、

範囲を自分で指定したい場合には「random.uniform関数」を使うといいもじゃね。

a<=x<=bの間で数値を返してくれるもじゃよ。

実際に確認してみましょうもじゃ。

今回は1.0以上2.0以下で実行しましたが、数値を変えて確認してみてくださいもじゃよ。

闇もじゃめ
闇もじゃめ
楽しいもじゃ…
もじゃめ
もじゃめ
何回も実行したくなるね!

指定した範囲の整数の乱数を取得する方法【random.randint(a,b)】

先ほどご説明したrandom.uniform関数と何が違うのか気になるもじゃよね。

random.randint関数はfloat型ではなくint型の値(整数)で返してくれるもじゃよ。

実際にみて確認してみるのがいいもじゃね。

整数値をランダムで欲しい場合にはrandom.randint関数を用いるといいもじゃね。

もちろん整数なので負の値を用いても問題ないもじゃよ。

闇もじゃめ
闇もじゃめ
整数だからね…

おまけとして、サイコロを1000回振った時のそれぞれの目の出る確率は1/6となるはずなので、各目の出る確率を全て足すと1になるのか確認してみるもじゃね。

(もっといい方法もありますが、汚いコードですいません)

実際に実行してみると、1.0という数字が返ってくるはずもじゃね。(1000回じゃ少ないかも)

配列の中身をランダムに取得する方法【random.choice(x)】

次に、random.choice関数についてご説明するもじゃね。

リストや文字列などといった複数の要素を含むシーケンス型オブジェクトを引数にし、それらからランダムに一つ要素を返します。

実際にみて確認する方がわかりやすいと思うので次のコードをご覧くださいもじゃ。

動物名をリストにいれ、それをランダムに1つ取り出したもじゃよ。

配列の中身をランダムに複数個取得する方法【sample(リスト名,個数)】

先ほどご紹介した「choice()」は、リスト内の一つの値のみを抽出したもじゃね。

複数個を抽出したい場合には「sample()」を用いるといいもじゃよ。

第一引数にはリスト名、第二引数に取り出したい数を指定してくださいもじゃ。

実際にみて確認してみるもじゃよ。

こちらの場合、実行した結果はリストとなっているもじゃね。

そして、取り出したい数を0とした場合は空のリストが抽出されるもじゃね。

さいごに

【Python】乱数を使いこなそう|randomモジュールの使い方について

今回はrandomモジュールの様々な使い方を説明したもじゃよ。

ほんの一部しか使ってはいないので、もっと深く知りたいかたは公式サイトをご確認願いますもじゃ。

created by Rinker
¥2,948
(2019/11/11 23:35:53時点 楽天市場調べ-詳細)

闇もじゃめ
闇もじゃめ
基礎がわかれば応用がきくもじゃね…
もじゃめ
もじゃめ
基本的な使い方はこれで十分だと思うよ!
にほんブログ村

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です