• python学习笔记(8)--random库的使用


    伪随机数:采用梅森旋转算法生成的伪随机序列中元素

    使用random库

    一、基本随机函数

    随机数需要一个种子,依据这个种子通过梅森旋转算法产生固定序列的随机数。
    seed(a=None)  初始化给定的随机数种子,默认为当前系统时间

    random()   生成一个[0.0,1.0)之间的随机小数

    >>> import random
    >>> random.seed(5)
    >>> random.random()
    0.6229016948897019
    >>> random.random()
    0.7417869892607294
    >>> random.seed(5)
    >>> random.random()
    0.6229016948897019

    使用seed主要是在某些系统各种,根据这个随机种子,可以复现问题,如果不使用种子,则默认为当前系统的精度很大的时间,这个无法再重现。

    二、扩展随机函数

    randint(a,b)             生成一个[a,b]之间的整数

    randrange(m,n[,k])  生成一个[m,n)之间以k为步长的随机整数

    getrandbits(k)         生成一个k比特长的随机整数

    uniform(a,b)           生成一个[a,b]之间的随机小数

    choice(seq)            从序列seq中随机选择一个元素

    shuffle(seq)           将序列seq中元素随机排列,返回打乱后的序列

    >>> random.randint(0,100)
    94
    >>> random.randrange(0,100,10)
    50
    >>> random.uniform(0,100)
    69.04468457583359
    >>> random.getrandbits(16)
    52113
    >>> random.choice([1,2,3,4,5,6,7])
    7
    >>> s=[1,2,3,4,5,6,7]
    >>> random.shuffle(s)
    >>> s
    [4, 3, 5, 7, 2, 1, 6]

    三、圆周率计算问题

    圆周率的计算,除了使用一个复杂的数学公式外,还可以通过计算机来模拟最初圆周率的计算方法蒙特卡罗方法。蒙特卡罗方法是指随机的在这个圆所在的正方形中撒粒子,然后计算圆中粒子的个数,依次来计算圆的面积,或者圆周率。那么现在计算机这个聪明,我们就可以通过计算机来模拟随机粒子,来计算圆周率。代码如下:

    #getPi.py
    from random import random
    from time import perf_counter
    DARTS = 1000*1000
    hits=0.0
    start=perf_counter()
    for i in range(1,DARTS):
         x, y = random(),random()
         dist = pow(x**2 + y**2, 0.5)
         if dist <= 1.0:
               hits +=1
    pi = 4 *(hits/DARTS)
    print("圆周率是:{}".format(pi))
    print("运行时间为:{:.5f}s".format(perf_counter() - start))
  • 相关阅读:
    预警:亚马逊出售的监控摄像机存在预装恶意软件
    opendaylight+openvswitch环境部署
    keepalived+nginx实现高可用
    Huawei ipv6 bgp配置
    F5配置http跳转https
    F5配置ssl卸载
    IBGP路由重分布进IGP路由
    H3C NQA 配置
    Cisco N7K第三方光模块的使用
    Cisco C3850交换机重启后配置无法保存的故障处理
  • 原文地址:https://www.cnblogs.com/xingmuxin/p/8917289.html
Copyright © 2020-2023  润新知