乱数のすべて

乱数の使い方.py 4/11/2023

import random

“””

1未満の浮動小数点数の乱数を取得

num = random.random()
num2 = random.random()

print(num) #0.5407111893935111
print(num2) #0.245935709508735
print()

指定した範囲の乱数を取得 random.uniform(開始値, 終了値)

指定した範囲の乱数を取得するにはrandom.uniform() 関数を使用します。

random.uniform() 関数は任意の範囲「開始値 <= n <=終了値」または

「終了値 <= n <= 開始値」のランダムな浮動小数点数を生成することができます。

num = random.uniform(1, 10)
num2 = random.uniform(5, -4)

print(num) # 2.1568368783168266
print(num2) # -3.109002171541878
print()

指定した範囲の整数の乱数を取得するにはrandom.randint()関数を使用します。

random.randint()関数は「開始値 <= n <= 終了値」のランダムな整数を

作成することができます。

num = random.randint(1, 5)
num2 = random.randint(0,6)

print(num) # 4
print(num2) # 0

リストなどの中身をランダムに取得するにはrandom.choice()関数を使用します。

random.choice()関数はリストなどの値の中のどれか1つの要素をランダムに取得することができます。

list = [1, 2 ,3 ,4 ,5, 6 ,7 ,8 ,9 ,10, 11, 12, 13, 14 ,15]
list2 = [“あ”, “い” ,”う” ,”え” ,”お”,]

num = random.choices(list)
num2 = random.choices(list)
str1 = random.choices(list2)
ste2 = random.choices(list2)

print(num) # [12]
print(num2)# [6]
print(str1)# [‘え’]
print(ste2)# [‘お’]

リストなどの中身をシャッフルするにはrandom.shuffle()関数を使用します。

random.shuffle()関数とは()中のリストなどの要素をシャッフルすることができます。

random.shuffle(リストなど)

list1 = [1, 2 ,3 ,4 ,5, 6 ,7 ,8 ,9 ,10, 11, 12, 13, 14 ,15]
list2 = [“あ”, “い” ,”う” ,”え” ,”お”,]

random.shuffle(list1)
print(list1) # [11, 12, 13, 15, 2, 10, 7, 4, 5, 3, 14, 1, 8, 9, 6]
random.shuffle(list2)
print(list2)# [11, 12, 13, 15, 2, 10, 7, 4, 5, 3, 14, 1, 8, 9, 6]

乱数を初期化するには、random.seed()を使います。

引数を省略すると、毎回異なる値が生成されますが、引数を任意の数値に固定すると、毎回同じ値が生成されます。

random.seed(数字)

1

random.seed(数字)

seed()の引数を無しにすると毎回異なる値が出力されるようになります。

for i in range(5):
random.seed(1)
print(random.randint(0, 25))

for i in range(5):
random.seed(2)
print(random.randint(0, 25))

***

luck = [“大吉”, “中吉” ,”小吉” ,”末吉” ,”凶”, “大凶”]

luck_this = random.choice(luck)
print(“おみくじの結果は。” + luck_this + “です。”)

if luck_this == “大吉”:

print("今日はいいことが起こりそうです。")

elif luck_this == “中吉”:

print("今日はまあまあいいことが起こりそうです。")

elif luck_this == “小吉”:

print("今日は何かいいことがあるかもしれません。")

elif luck_this == “末吉”:

print("今日はいつも通りでしょう。")

elif luck_this == “凶”:

print("今日は少し気をつけましょう。")

else:
print(“外出するのはやめましょう。”)


“””

https://note.nkmk.me/python-random-choice-sample-choices/

Python標準#ライブラリのrandomモジュールの関数choice(), sample(), choices()を使うと、

リストやタプル、文字列などのシーケンスオブジェクトからランダムに要素を選択して

取得(ランダムサンプリング)できる。

randomモジュールの関数choice()で、リストからランダムで要素が一つ選択され取得できる。

list = [0, 1, 2, 3, 4] # print(random.choice(list))

————————-

ランダムに複数の要素を選択(重複なし): random.sample()

list = [0, 1, 2, 3, 4]

print(random.sample(list, 3))

print( random.sample( [ 1,2,3,4,5,6,7,8,9,10 ], k=4 )) # 3,9,6,5

[2, 4, 0]

print(type(random.sample(list, 3)))