• Python3基础模块 random


    Python3基础模块 random

    import random
    #作用:生成随机数
    
    • 1
    • 2

    使用dir(module)查看模块内容

    >>> import random
    >>> dir(random)
    ['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_BuiltinMethodType', '_MethodType', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_inst', '_itertools', '_log', '_pi', '_random', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
    
    • 1
    • 2
    • 3

    范例一:
    random.random()
    获取一个[0,1)范围内的随机数,范围 大于等于0,小于1

    >>> import random
    >>> random.random()
    0.7887233511355132
    
    • 1
    • 2
    • 3

    范例二:
    random.randint(x,y)
    获取一个随机整数,需要给定范围(x,y),返回值范围 大于等于x,小于等于y

    >>> import random
    >>> random.randint(-101,200)
    -86
    >>> random.randint(-101,200)
    176
    
    • 1
    • 2
    • 3
    • 4
    • 5

    范例三:
    random.randrange(start,stop,step)
    从范围(start,stop)中取一个步长为step的元素,范围是[start,stop),大于等于start,小于stop,步长就是每个数字之间的间隔长度,可以简单理解为从range(start,stop,step)中再随机取一个数字出来

    #先使用range取到数字
    >>> import random
    >>> for i in range(0,10,3):
    ...     print(i)
    ...
    0
    3
    6
    9
    #可以看到得到的数字是0,3,6,9
    #再看下random可以取得的数字,你可以多次执行,得到的值也会是0,3,6,9这四个数字中进行随机返回
    >>> random.randrange(0,10,3)
    9
    >>> random.randrange(0,10,3)
    9
    >>> random.randrange(0,10,3)
    3
    >>> random.randrange(0,10,3)
    9
    >>> random.randrange(0,10,3)
    0
    >>> random.randrange(0,10,3)
    3
    >>> random.randrange(0,10,3)
    3
    >>> random.randrange(0,10,3)
    9
    >>> random.randrange(0,10,3)
    6
    >>> random.randrange(0,10,3)
    3
    >>> random.randrange(0,10,3)
    6
    >>> random.randrange(0,10,3)
    6
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    范例四:
    random.choice(seq)
    从非空序列seq返回一个随机元素,如果seq为空,则返回IndexError。这个序列可以是列表,也可以是字符串或元组

    >>> import random
    >>> x = "abcdefg"
    >>> random.choice(x)
    'a'
    >>> random.choice(x)
    'a'
    >>> random.choice(x)
    'g'
    >>> random.choice(x)
    'd'
    >>> random.choice(x)
    'g'
    >>> random.choice(x)
    'g'
    >>> random.choice(x)
    'c'
    >>> y = [1,2,4,3,2,5]
    >>> random.choice(y)
    1
    >>> random.choice(y)
    2
    >>>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    范例五:
    random.shuffle(x)
    将序列x随机打乱位置

    import random
    >>> x = [1,2,3]
    >>> random.shuffle(x)
    >>> print(x)
    [3, 1, 2]
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    Tomcat性能监控
    Java多线程
    strimzi实战之二:部署和消息功能初体验
    JAVA计算机毕业设计衣依服装销售平台Mybatis+系统+数据库+调试部署
    JVM(Java虚拟机)
    Java寻找两个正序数组的中位数
    【无标题】
    牛亚男:基于多Domain多任务学习框架和Transformer,搭建快精排模型
    [剑指 Offer 06]从尾到头打印链表
    SpringBoot面试题(100+)
  • 原文地址:https://blog.csdn.net/weixin_44517278/article/details/134421295