【python】乱数生成方法[randomライブラリ]

2020年3月31日

乱数はrandomライブラリを使用して取得することが出来ます。
乱数は法則性がない数字になります。適当な値が欲しい時に使用されます。
ただし、PC上では完全な乱数を生成することは不可能なので疑似乱数ともいわれます。

整数型の乱数を使用するときは「randint」を使用します。
最小値と最大値を引数として渡すことで生成することができます。

import random
【整数型の乱数】= random.randint( 【下限値】, 【上限値】)

下限を10、上限を20として乱数生成した結果となります。

import random

print( random.randint( 10, 20 ) ) #17
print( random.randint( 10, 20 ) ) #10
print( random.randint( 10, 20 ) ) #19
print( random.randint( 10, 20 ) ) #11
print( random.randint( 10, 20 ) ) #17

乱数生成を使用してサイコロを振る

乱数生成を使用して6面サイコロを振ってみましょう。
下限を1、上限を6として乱数生成をして、printで表示するときにサイコロを振る感じの文章を付けると完成です

import random

print( "サイコロの目は「",random.randint( 1, 6 ),"」です。" ) #サイコロの目は「 1 」です。
print( "サイコロの目は「",random.randint( 1, 6 ),"」です。" ) #サイコロの目は「 6 」です。
print( "サイコロの目は「",random.randint( 1, 6 ),"」です。" ) #サイコロの目は「 6 」です。
print( "サイコロの目は「",random.randint( 1, 6 ),"」です。" ) #サイコロの目は「 4 」です。
print( "サイコロの目は「",random.randint( 1, 6 ),"」です。" ) #サイコロの目は「 4 」です。

浮動小数点の乱数生成を行う。(0-1)

先ほどは整数型の乱数生成を行いました。
浮動小数点もrandomライブラリを使用することで生成可能です。

下記は0~1までの浮動小数点乱数を生成できます。

import random
【浮動小数点乱数(0.0~1.0)】 = random.random()

実際の実行例です。

import random

print( random.random() ) #0.3870398118882392
print( random.random() ) #0.6262092564444022
print( random.random() ) #0.9032392145459793
print( random.random() ) #0.8321011264651873
print( random.random() ) #0.05237042894675881

浮動小数点の乱数生成を行う。範囲指定

先ほどの浮動小数点乱数は0-1の固定でした。もちろん範囲指定可能な関数も存在します。

import random

【浮動小数点乱数】= random.uniform(【下限値】,【上限値】)

実行例です。範囲指定は正負・浮動小数点をといません。

import random

print( random.uniform( -30, 20) ) #2.4618513541254643
print( random.uniform( -30, 20) ) #11.53100790258064
print( random.uniform( -30, 20) ) #-18.242927770326986
print( random.uniform( -30, 20) ) #-3.2145350674845368
print( random.uniform( -30, 20) ) #-13.837219104533045

print( random.uniform( 2.5, 3.5) ) #3.1340119134913627
print( random.uniform( 2.5, 3.5) ) #2.914852287529747
print( random.uniform( 2.5, 3.5) ) #2.9742328644643123
print( random.uniform( 2.5, 3.5) ) #2.7120556903720425
print( random.uniform( 2.5, 3.5) ) #3.1748126292174597

配列のランダム選択 じゃんけんをしよう!!

choice関数は配列の中身をランダム選択できます。
配列の中にじゃんけんの手を全て入れてchoice関数に引数として渡すとパソコンとのじゃんけんができます。

import random

janken = ["グー","チョキ","パー"]

print(  random.choice( janken ) ) #チョキ
print(  random.choice( janken ) ) #パー
print(  random.choice( janken ) ) #チョキ
print(  random.choice( janken ) ) #グー
print(  random.choice( janken ) ) #グー

ソースコードはこちらから