• 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中元素随机排列,返回打乱后的序列

    eg: randint()

    import random
    
    random.randint(10, 100)
    

    结果:60

    eg:randrange()

    import random
    random.randrange(10, 100, 10)
    

    结果:80

    eg:getrandbits()

    import random
    random.getrandbits(16)
    

    结果:37885

    eg:uniform()

    import random
    random.uniform(10, 100)
    

    结果:11.334920142209832

    eg:choice()

    import random
    random.choice([1, 2, 3, 4, 5, 6, 7])
    

    结果:5

    eg:shuffle()

    import random
    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 随机函数的使用

    需要掌握的能力

    • 能够利用随机数种子产生"确定"伪随机数
    • 能够产生随机整数
    • 能够对序列类型进行随机操作

    四、圆周率的计算

    1. 蒙特卡洛方法

    027-实例6-圆周率的计算-02.jpg

    from random import random
    from time import perf_counter
    
    DARTS = 1000 * 1000
    hits = 0.0
    start = perf_counter()
    a
    for i in range(1, DARTS + 1):
        x, y = random(), random()
        dist = pow(x**2 + y**2, 0.5)
        if dist <= 1.0:
            hits = hits + 1
            
    pi = 4 * (hits / DARTS)
    print("圆周率值是: {}".format(pi))
    print("运行时间是: {:.5f}s".format(perf_counter() - start))
    
    在当下的阶段,必将由程序员来主导,甚至比以往更甚。
  • 相关阅读:
    linux 7版本配置端口转发
    修改/etc/hosts.allow和/etc/hosts.deny允许linux服务器允许和限制访问策略
    DNS解析全过程
    zabbix监控原理和架构详谈
    数据库连接池
    Haproxy负载均衡
    Redis数据库
    Tensorflow实战第十一课(RNN Regression 回归例子 )
    OneNote2016代码高亮插件的安装与使用
    Tensorflow实战第十课(RNN MNIST分类)
  • 原文地址:https://www.cnblogs.com/randysun/p/11202474.html
Copyright © 2020-2023  润新知