LoginSignup
0
0

More than 3 years have passed since last update.

はじめてのPython3 ~番外編:数値ランダム狂想曲~

Last updated at Posted at 2020-08-08

はじめに

注意点などはこちらを参照してください。

この記事を描こうと思ったきっかけ

Pythonの計算に関して、適当な数値を入れてみてみたい。
そこでランダムな数値を精製してくれるrandomモジュールを使用してみることにしました。
そんなrandomモジュールについての備忘録のようなものです。

ようこそ、乱数の世界へ

randomモジュールをインポート

randomモジュールはPythonの標準ライブラリに含まれているため、ダウンロードは入りません。
ただし、インポートは必要です。

import random # 上部の段にこれを記述

randomモジュールの関数

random.random()

0.0以上1.0未満の浮動小数点数float型の乱数を生成します。

import random

print(random.random())

# 実行結果↓
# 0.830963714448
# 0.253643551299
# 0.906046050863 など

random.uniform(a,b)

任意の範囲(a から b の間)の浮動小数点数float型の乱数を生成する。

import random

print(random.uniform(10,20))

# 実行結果↓
# 10.4740789672
# 14.8562079851
# 10.2516560825 など

・2つの数値は大きさ順不同。

import random

print(random.uniform(1,-2))

# 実行結果↓
# -14.6138465193
# -1.29546679922
# 5.63021229752 など

・もしも同じ数だったら、その値のみ返す。

import random

print(random.uniform(10,10))

# 実行結果↓
# 10.0

引数は浮動小数点数float型でも可能。
※ bの値が範囲に含まれるかはドキュメント引用部分より、a + (b-a) * random.random()の丸めに依存。

端点の値 b が範囲に含まれるかどうかは、等式 a + (b-a) * random() における浮動小数点の丸めに依存します。 ー Pythonドキュメント:random --- 擬似乱数を生成する より引用

import random

print(random.uniform(1.234,4.321))

# 実行結果↓
# 1.93441022683
# 2.75716839399
# 3.91940634098 など

random.randrange(a,b,x)

range(a, b, x)の要素からランダムに選ばれた要素(整数int型)を返す。
a…スタート、x…ステップは省略可能。
そうした場合は、a = 0、x = 1 となる。

import random

print(list(range(10)))

print(random.randrange(10))

# 実行結果↓
# [0,1,2,3,4,5,6,7,8,9]
# 7 など
x = ステップの設定

奇数や偶数のランダム整数を生成したり、3の倍数のランダム整数を生成したりすることができる。

import random

print(list(range(2,10,2)))

print(random.randrange(2,10,2))

# 実行結果↓
# [2, 4, 6, 8]
# 4 など

random.randint(a,b)

a以上、b以下ののランダムな整数intを返す。

import random

print(random.randint(10,100))

# 実行結果↓
# 37 など
こぼれ話

1000から10000の間で、3000や6000といった百の位までが0の整数を出したい場合、
random.randint(1,10)の結果 * 1000 とすれば良い。

import random

print(random.randint(1,10) * 1000)

# 実行結果↓
# 3000
# 4000 など

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0