乱数関数の使い方 ⑨

普段使う部品の基本的な設定は大体理解してきたので、つぎによく出てくる乱数の使い方を完全にしておきたいのでここに纏めます。

① 基本的乱数の発生 (基本17桁)
import random
print(random.random()) #—>0.19284803535229333

 

② 整数の乱数を発生させる
#n1からn2までの整数を発生
import random
print(random.randint(1,10))#–>8

 

③ 整数の乱数を複数個発生させる
import random
for x in range(10):
    x=random.randint(1,100)
    print(x)

 

④ リストから乱数で選ぶ
  4択問題には絶対必要

import random
リスト=[“C”, “Python”, “Java”, “Ruby”,”VB”,”C++”]
print(random.choice(リスト))#–>Ruby

 

⑤ リストから複数の要素を選択(新たなリストとして抽出)

import random
リスト=[“C”, “Python”, “Java”, “Ruby”,”VB”,”C++”]
print(random.sample(リスト, 3)) #—>[‘C++’, ‘Java’, ‘Python’]

 

⑥ リストをシャフルして違う順番にする
  神経衰弱とかトランプ遊びには有効

import random
リスト=[“C”, “Python”, “Java”, “Ruby”,”VB”,”C++”]
random.shuffle(リスト) <– 設定の仕方が一寸特殊
print(リスト)–>#[‘C++’, ‘VB’, ‘C’, ‘Java’, ‘Ruby’, ‘Python’]

リストの並びが変わりましたね。

 ⑥の別解 random.shuffle(リスト)と同じことが出来そう
 リスト=[“C”, “Python”, “Java”, “Ruby”,”VB”,”C++”]
 print(random.sample(リスト, 6)) #–> [‘Java’, ‘C++’, ‘C’, ‘VB’, ‘Ruby’, ‘Python’]

 

⑦ 辞書からキーに応じた要素を取り出す
英単語カード、在庫チェックとかに使えます。 choiceとitemsを使います。

import random

果物籠 = {‘桃’: 10, ‘メロン’: 5, ‘さくらんぼ’: 8, ‘みかん’: 13, ‘ぶどう’: 7, ‘パイナップル’: 4}

果物, 数量 = random.choice(list(果物籠.items()))
print(果物, 数量) –> みかん 13

 

⑧ 数字パスワード発生 (数字の重複あり)

  
#n1からn2迄の数値をk個発生させる
 
import random

def rand_ints_dup(n1, n2, k):
    return [random.randint(n1, n2) for i in range(k)]

may_dupe = rand_ints_dup(0, 9, 4)
print(may_dupe)  #—> [4, 0, 2, 2]

# リストから数値のみを表示させる場合
for n in may_dupe:
    print(n, end=’ ‘)  # —> 4 0 2 2

 

⑨ 数字パスワード発生 (数字の重複なし)

 
import random
 
def rand_ints_nodup(n1, n2, k):
    nd = []
    while len(nd) < k:
        n = random.randint(n1, n2)
        if not n in nd:
            nd.append(n)
    return nd

no_dupe = rand_ints_nodup(0, 9, 4)
print(no_dupe) # [5, 7, 1, 6]
 
# 数値のみ表示させる
for n in no_dupe:
    print(n, end=’ ‘)  # 5 7 1 6

 

終わり

Python小学館
リストのデータを合算する(ブラックジャックに使用する)

トランプのブラックジャック(BJ)を作るための準備として、点数計算用の関数を作ります。BJはdeal …

Python別館
Python検定試験準備 Q37

Python検定試験と云うのがあるらしいと別項に上げましたが、学習して損することは無いので始めて見ま …

Python小学館
リストボックスから選択する

アプリを作るときによくリストボックスから選択したい場合がよく有ります。 忘れがちなのでここ …