乱数の使い方.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)))