zoukankan      html  css  js  c++  java
  • random库的使用

    random库的使用

    random库的基本介绍

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

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

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

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

    扩展随机数函数

    函数 描述
    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]
    

    需要掌握的能力

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

    使用random库完成圆周率的近似计算

    在正方形内部,随机产生10000个点(即10000个坐标对 (x, y)),计算它们与中心点的距离,从而判断是否落在圆的内部。如果这些点均匀分布,那么圆内的点应该占到所有点的 π/4,因此将这个比值乘以4,就是π的近似值。

    from random import random
    from time import perf_counter
    DARTS = 1000 * 1000
    hits = 0.0
    start = perf_counter()
    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))
    

    ​ 圆周率近似值是: 3.141364
    ​ 运行时间是: 0.71023s

  • 相关阅读:
    jenkins部署前端node项目实例
    阿里云云盘扩容数据盘_Linux
    输入子系统
    触摸屏设备驱动程序
    LCD设备驱动程序
    IIC设备驱动程序
    看门狗驱动程序
    RTC实时时钟驱动
    网络设备驱动程序数据结构
    Linux 设备驱动模型
  • 原文地址:https://www.cnblogs.com/dadazunzhe/p/11202415.html
Copyright © 2011-2022 走看看