1. 程式人生 > >Python3-筆記-E-001-庫-隨機數random

Python3-筆記-E-001-庫-隨機數random

lists lis mva ava ise 獲取 pri 指定 弧度

import random # 隨機數模塊
lists = [1, 2, 3, 4, 5]

def demo():
    # 產生[0, 100]隨機整數
    num = random.randint(0, 100)
    print(num)

    # 產生[0, 100)隨機浮點數
    fnum = random.uniform(0, 100)
    print(fnum)

    # 隨機獲取元素
    elem = random.choice(lists)
    print(elem)

    # 打亂順序
    random.shuffle(lists)
    print(lists)



def funs():
    # seed(a=None, version=2) // 初始換生成器的隨機數
    random.seed()
    random.getstate() # 獲取生成器內部狀態
    random.setstate(random.getstate()) # 設置生成器內部狀態


    # 獲取隨機數
    num = random.getrandbits(8) # 獲取x位(bit)隨機整數
    # randrange(stop) / randrange(start, stop[, step]) // 生成隨機整數
    num = random.randrange(0, 100, 2) # [0,100)產生的隨機整數+2
    # randint(a, b) == randrange(a, b + 1) // [a, b]
    num = random.randint(0, 1)
    fnum = random.random() # 獲取浮點隨機數 [0.0, 1.0)
    fnum = random.uniform(1, 2) # 獲取指定範圍內的浮點隨機數 [1.0, 2.0)

    # triangular(low, high, mode) // 獲取隨機浮點數, low低邊界(默認0),high高邊界(默認1),模式(默認邊界中點)
    fnum = random.triangular(0, 1, 1.5)
    # betavariate(alpha, beta) // Beta分布,[0.0, 1.0]
    fnum = random.betavariate(1, 1)
    # expovariate(lambd) // 指數分布, lambd返回整,值[0, +∞]; lanbd返回負,值[-∞, 0]
    fnum = random.expovariate((lambda arg1, arg2: arg1 + arg2)(1, 2)) # lambd返回值越小,獲得值越大
    # gammavariate(alpha, beta) // 伽瑪分布
    fnum = random.gammavariate(1, 1)
    # gauss(mu, sigma) // 高斯分布 mu:平均值, sigma:標準偏差
    fnum = random.gauss(1, 1)
    # lognormvariate(mu, sigma) // 對數正態分布,獲得平均值mu和標準偏差sigma的正態分布; mu:任何值,sigma:>0。
    fnum = random.lognormvariate(1, 1)
    # normalvariate(mu, sigma) // 正態分布, mu是平均值, sigma是標準偏差
    fnum = random.normalvariate(1, 1)
    # vonmisesvariate(mu, kappa) // 馮米塞斯分布的隨機數。mu:平均角度(弧度[0, 2*pi]), kappa:集中程度>=0
    fnum = random.vonmisesvariate(1, 1)
    # paretovariate(alpha) // 帕累托分布, alpha:形狀
    fnum = random.paretovariate(1)
    # weibullvariate(alpha, beta) // 韋伯分布, alpha:縮放, beta:形狀
    fnum = random.weibullvariate(1, 1)

    elem = random.choice(lists) # 非空序列中取出隨機元素, 序列為空拋IndexError
    elems = random.sample(lists, 3) # 從列表中隨機獲取3個元素, 範圍>列表大小,拋ValueError


    # 打亂順序
    random.shuffle(lists) # 打亂序列

Python3-筆記-E-001-庫-隨機數random