zoukankan      html  css  js  c++  java
  • 026 模块3-random库的使用

    一、random库基本介绍

    random库是使用随机数的Python标准库

    • 伪随机数:采用梅森旋转算法生成的(伪)随机序列中元素
    • random库主要用于生成随机数
    • 使用random库:import random

    1.1 random库概述

    random库包括两类函数,常用共8个

    • 基本随机数函数: seed(), random()
    • 扩展随机数函数:randint(), getrandbits(), uniform(),randrange(), choice(), shuffle()

    二、基本随机数函数

    2.1 随机数种子

    026-模块3-random库的使用-01.jpg?x-oss-process=style/watermark

    函数 描述
    seed(a=None) 初始化给定的随机数种子,默认为当前系统时间
    random() 生成一个[0.0, 1.0)之间的随机小数
    import random
    
    random.seed(10)  # 产生种子10对应的序列
    random.random()
    
    0.5714025946899135
    
    random.random()
    
    0.4288890546751146
    
    random.seed(10)
    random.random()
    
    0.5714025946899135
    

    三、扩展随机数函数

    026-模块3-random库的使用-02.jpg?x-oss-process=style/watermark

    函数 描述
    randint(a,b) 生成一个[a, b]之间的整数
    randrange(m, n[, k]) 生成一个[m, n)之间以k为步长的随机整数
    getrandbits(k) getrandbits(k)
    uniform(a, b) 生成一个[a, b]之间的随机小数
    choice(seq) 从序列seq中随机选择一个元素
    shuffle(seq) 将序列seq中元素随机排列,返回打乱后的序列
    import random
    
    random.randint(10, 100)
    
    64
    
    random.randrange(10, 100, 10)
    
    80
    
    random.getrandbits(16)
    
    37885
    
    random.uniform(10, 100)
    
    11.334920142209832
    
    random.choice([1, 2, 3, 4, 5, 6, 7])
    
    6
    
    s = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    random.shuffle(s)
    print(s)
    
    [3, 9, 7, 4, 1, 2, 6, 5, 8]
    

    3.1 随机数函数的使用

    需要掌握的能力

    • 能够利用随机数种子产生"确定"伪随机数
    • 能够产生随机整数
    • 能够对序列类型进行随机操作
  • 相关阅读:
    (离线算法 LCA) hdu 2874
    (树形DP) hdu 4118
    (树的重心) poj 1655
    (线性基) bzoj 2115
    (线性基) bzoj 2460
    (边双联通+树直径) hdu 4612
    (拓扑图+DP) poj 3249
    (求割点和除去割点后的联通块数目) poj 1523
    (边双联通) poj 3352
    (DP求最长路) hdu 4607
  • 原文地址:https://www.cnblogs.com/nickchen121/p/11185030.html
Copyright © 2011-2022 走看看