乱数関数の使い方 ⑨

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

① 基本的乱数の発生 (基本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

 

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

重複のない0~10迄の数値を発生します。

no_dupe = random.sample(range(10), 10)

print(no_dupe) #[9, 5, 1, 4, 2, 8, 6, 7, 0, 3]

 

終わり

Python別館
Python別館 目次

Pythonで作成したアプリ関連の記事は「Python別館」に、widgetやその使用方法・それを使 …

Python別館
Q&A テンプレート GUI編

良く英単語アプリなどを作る時に似たようなアプリになりますので、すぐ真似できるようにテンプレートらしき …

Python別館
文字列の配置

ラベル、テキストボックスなどで、文字列の配置が微妙に異なります。いつも迷うので基本的なものを挙げてお …