• python3 random


    一.random

    1.生成伪随机数

    2.伪随机数是可预测的,严格意义上不具有随机性质,通常用数学公式的方法(比如统计分布,平方取中等)获得

    3.正如数列需要有首项,产生伪随机数需要一个初值用来计算整个序列,这个初值被称为“种子”。种子可以是一个固定的值,也可以是根据当前系统状态确定的值。

    4.https://docs.python.org/3.5/library/random.html?highlight=random#module-random

    二.random方法

    1.seed([]):改变随机数生成器的种子seed

     1 #seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数。。
     2 random.seed()
     3 print ("使用默认种子生成随机数:", random.random())#变化
     4 random.seed(10)
     5 print ("使用整数种子生成随机数:", random.random())#不变
     6 random.seed("hello",2)
     7 print ("使用字符串种子生成随机数:", random.random())#不变
     8 
     9 ----------------------------------------------------------------
    10 使用默认种子生成随机数: 0.8182785911795667
    11 使用整数种子生成随机数: 0.5714025946899135
    12 使用字符串种子生成随机数: 0.3537754404730722
    seed

    2.getrandbits()返回一个具有k个 随机的Python整数

    1 #getrandbits返回一个具有k个 随机位的Python整数
    2 #输入8=2*3,返回一个最多3个数字组成的整数
    3 print(random.getrandbits(8))
    4 ------------------------------------
    5 248
    getrandbit

    3.生成单个随机整数

    (1)randrange():从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1;[ )

    1 #randrange(start, stop[, step])
    2 print(random.randrange(100))# 从 [ 0,100) 选取一个随机数
    3 print(random.randrange(1, 100, 2))# 从 [1,100) 中选取一个奇数
    4 ------------------------------------------------------------------------
    5 63
    6 91
    randrange()

    (2)randint(x,y):随机生一个整数int类型,可以指定这个整数的范围;[ ]

    1 #randint(x,y)
    2 print(random.randint(1000,1838))#从【1000,1838】中选一个整数
    3 ---------------------------------------
    4 1410
    randint

    4.序列的相关随机函数

    (1)choice() :从非空序列的元素中随机挑选一个元素

    1  #choice()方法返回一个列表,元组或字符串的随机项。
    2 print(random.choice([1,5,6,7,8,8,7]))
    3 print(random.choice('asadad '))
    4 -----------------------------------------------
    5 5
    6 a
    choice

    (2)shuffle():将序列的所有元素随机排序

    1 #shuffle()方法将序列的所有元素随机排序。
    2 list=[20,15,38,22,7]
    3 random.shuffle(list)
    4 print(list)
    5 -------------------------------
    6 [15, 22, 38, 20, 7]
    shurffle

    (3)sample(sequence,length) 可以从指定的序列中,随机的截取指定长度的片断,不修改原序列。选取指定数量的字符

    1 #random.sample(sequence, k)从指定序列中随机获取指定长度的片断
    2 list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    3 slice = random.sample(list, 5)  # 从list中随机获取5个元素,作为一个片断返回
    4 print(slice)
    5 print(list) # 原有序列并没有改变
    6 -------------------------------------------
    7 ['3', 'b', 'a', '4']
    sample

    5.生成随机浮点数

    (1)random():随机生成下一个浮点数,它在【0.0 , 1.0)范围内

    1  #random()方法返回随机生成的一个浮点数,它在[0,1)范围内。
    2 print(random.random())
    3 ------------------------------------------------
    4 0.7479187105035808
    random

    (2)uniform(x,y):随机生成下一个浮点数,它在 [x,y] 范围内

    1  #uniform() 方法将随机生成下一个浮点数,它在[x,y]范围内,
    2 print(random.uniform(5, 10))
    3 ----------------------------------------------4 7.122212601550471
    uniform

    (3)其他,根据特定分布(比如正太分布,指数分布等)生成一个随机浮点数

  • 相关阅读:
    VSS部署手册
    正则表达式学习(二)
    完全卸载oracle11g步骤
    c#中 命令copy 已退出,返回值为1
    Windows 64位下装Oracle 11g,PLSQL Developer的配置问题,数据库处显示为空白的解决方案
    ora01033和ora12560错误的解决方案
    C#DLL加密保护
    ocslive.conf
    ASP.NET中文乱码问题的解决
    Creating a very simple autorestore USB stick clonezilla
  • 原文地址:https://www.cnblogs.com/yu-liang/p/9182232.html
Copyright © 2020-2023  润新知