python randomモジュールの簡単な紹介

5667 ワード

python
  • randomモジュール
  • 基本ランダム関数
  • 拡張乱数関数
  • 転載先:https://www.cnblogs.com/masked/p/8846439.html
    部分的に作者自身の理解に修正する
    randomモジュール
    randomライブラリは乱数を使用したPython標準ライブラリです
    確率論の観点から言えば、乱数はランダムに生成されたデータ(例えばコインを投げる)であるが、コンピュータはランダム値を生成することは不可能であり、本当の乱数も特定の条件の下で生成された確定値であるが、これらの条件は私たちが理解していないか、あるいは私たちの理解範囲を超えている.コンピュータが真の乱数を生成できない場合、擬似乱数も乱数と呼ばれます.
    -擬似乱数:コンピュータでメイソン回転アルゴリズムを使用して生成された(擬似)ランダムシーケンス要素
    pythonで擬似乱数を生成するための関数ライブラリはrandomです
    標準ライブラリなので、使用時はimport randomのみ
        --      : seed(), random()
        --      :randint(), getrandbits(), uniform(), randrange(), choice(), shuffle()
    

    Pythonで発生する乱数は乱数シードを用いて発生する(シードが同じであれば、発生する乱数シーケンスは、各数でも数と数の関係でも決定されるので、乱数シードは乱数シーケンスの発生を決定する)
    きほんランダムかんすう
    関数#カンスウ#
    説明
    seed(a=None)
    与えられた乱数シードを初期化し、デフォルトは現在のシステム時間>>randomである.seed(10)#シード10に対応するシーケンスを生成
    random()
    [0.0,1.0]の間のランダム小数>>random.random()を生成します.
    乱数シードを使うメリットは乱数のあるプログラムを再現できることです
    
    import random
    
    random.seed()
      
    """ 
    
    seed()                           ,
                        ,
                 
                                      
            seed(x) x =    x           
      seed(x)  x        x 
                 
    
    """
    a = random.random()
    random.seed()
    b = random.random()
    
    print(a)
    print(b)
    
    
    

    かくちょうらんすうかんすう
    randomライブラリではseedとrandom関数が最も基本的であるが,時機能は比較的単一であり,そのために6つの拡張乱数関数が生成された.
    関数#カンスウ#
    説明
    randint(a,b)
    [a,b]間の整数を生成する
    randrange(m,n[,k])
    [m,n)間のkをステップ長とするランダム整数を生成する
    getrandbits(k)
    k比の特長のランダム整数を生成する
    uniform(a,b)
    [a,b]間のランダム小数を生成する
    choice(seq)シーケンス相関
    シーケンスから要素をランダムに選択
    shuffle(seq)
    シーケンスseqの要素をランダムに並べて、乱れたシーケンスを返します
    
    import random
    
    print( random.randint(1,10) )        #    1   10            
    print( random.random() )             #    0   1         
    print( random.uniform(1.1,5.4) )     #     1.1   5.4         ,        
    print( random.choice('tomorrow') )   #             
    print( random.randrange(1,100,2) )   #    1 100    2     
    
    a=[1,3,5,6,7]                #    a        
    random.shuffle(a)
    print(a)
    
    

    出力結果
    """
    4
    0.061401400678613105
    5.388597406589035
    t
    35
    [1, 5, 7, 3, 6]
    """