zoukankan      html  css  js  c++  java
  • python之random库

    random库是使用随机数的一个python标准库。

    random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。即使用前需要导入:import random

    random库包含两类函数,常用的有8个:

      --基本随机函数:seed( ),random( )

      --扩展随机函数:randint( ),randrange( ),shuffle( ),uniform( ),choice( ),getrandbits( )

    其它的几个函数用的不多。

    基本随机数:

    Python中产生随机数使用随机数种子来产生。(只要种子相同,产生的随机序列,无论是每一个数,还是数与数之间的关系都是确定的,所以随机数种子确定了随机序列的产生)。                             

     基本随机函数
    函数 描述
    seed(a=None)

    初始化给定的随机数种子,默认为当前系统时间

    >>>random.seed(10)     #产生种子10对应的序列

    random()

    生成一个[0.0,1.0)之间的随机小数n: 0<=n<1

    >>> random.random()
    0.5845462257019302
    >>> random.random()
    0.8440678976619022
    >>> random.random()
    0.1564189183874064

    扩展随机数函数:

    在random库中,最基本的是seed 和random 函数,但时功能比较单一,为此产生了6个扩展随机数函数。

    扩展随机数函数
    函数 描述
    randint(a, b)

    产生一个[a,b]间的整数n。a<=n<=b

    >>> random.randint(10,20)
    11
    >>> random.randint(10,20)
    20
    >>> random.randint(10,20)
    13
    >>> random.randint(10,20)
    14

    uniform(a, b)

    产生一个[a,b]之间的随机浮点数。区间可以不是整数

    >>> random.uniform(1.1,5.5)
    5.052063475972429
    >>> random.uniform(1.1,5.5)
    2.4832007418083832
    >>> random.uniform(1.1,5.5)
    3.5155216096545847
    >>> random.uniform(1.1,5.5)
    3.018536213546138

    randrange(m, n, [,k])

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

    >>> random.randrange(10, 20, 2)
    14
    >>> random.randrange(10, 20, 3)
    10

    shuffle(seq)

    序列相关

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

    >>> s = [1, 6, 7, 9, 5]
    >>> random.shuffle(s)
    >>> print(s)
    [6, 9, 1, 7, 5]

    choice(seq)

    序列相关

     从序列中随机选择一个元素。

    >>> random.choice([1,2,3,5,9])
    1
    >>> random.choice([1,2,3,5,9])
    9
    >>> random.choice([1,2,3,5,9])
    5
    >>> random.choice([1,2,3,5,9])
    2

    getrandbits(k)

     生成一个k比特长的随机整数。

    >>> random.getrandbits(3)
    4L
    >>> random.getrandbits(3)
    3L
    >>> random.getrandbits(16)
    21480L
    >>> random.getrandbits(16)
    4986L

    学三境: 一境:昨夜西风凋碧树,独上高楼,望尽天涯路; 二境:衣带渐宽终不悔,为伊消得人憔悴; 三境:众里寻‘它’千百度,蓦然回首,那斯却在,灯火阑珊处。
  • 相关阅读:
    MySQL改动rootpassword的多种方法
    略论并行处理系统的日志设计
    ERROR (UnicodeEncodeError): 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128
    UnicodeEncodeError: 'ascii' codec can't encode character u'u65e0' in position 1: ordinal not in range(128)
    python -m json.tool 中文乱码 Format JSON with python
    CentOS6.6 zookeeper完全集群搭建
    libvirt kvm云主机监控
    glance image-create
    通过上一节部署出来的 Windows instance 有时候会发现操作系统时间总是慢 8 个小时,即使手工调整好时间和时区,下次 instance 重启后又会差 8 个小时
    云监控网址
  • 原文地址:https://www.cnblogs.com/cpl9412290130/p/9695468.html
Copyright © 2011-2022 走看看