zoukankan      html  css  js  c++  java
  • 032 random

    • random 是伪随机
    >>> import random  # 下面的例子就不重复这个导入操作了
    >>> 
    

    random.random()

    • 返回值:[0, 1)
    >>> random.random()
    0.32777843950175867
    >>> random.random()
    0.6195138047287055
    >>> 
    

    random.choice()

    • 格式:random.choice(非空序列)
    • 返回值:序列中的某个值
    >>> lst = [i for i in range(10)]
    >>> lst
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> random.choice(lst)
    4
    >>> random.choice(lst)
    2
    >>> 
    

    random.shuffle()

    • 功能:随机打乱列表
    • 格式:random.shuffle(列表)
    • 返回值:打乱顺序之后的列表
    >>> lst
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> random.shuffle(lst)
    >>> lst
    [7, 6, 0, 5, 9, 4, 1, 2, 3, 8]
    >>> random.shuffle(lst)
    >>> lst
    [9, 6, 4, 3, 2, 0, 8, 1, 7, 5]
    >>> 
    

    random.randint()

    • 格式:random.randint(a, b)
    • 返回值:[a, b]
    >>> random.randint(1, 100)
    26
    >>> random.randint(1, 100)
    100
    >>> 
    

    random.randrange()

    • 格式:random.randrange(a, b)
    • 返回值:[a, b)
    • 其实,randint 就是调用了 randrange
    def randint(self, a, b):
        """Return random integer in range [a, b], including both end points.
        """
    
        return self.randrange(a, b + 1)
    
    >>> random.randrange(1, 100)
    17
    >>> random.randrange(1, 100)
    37
    >>> 
    

    造个轮子

    • 其实这个轮子在 Js 中造过
      • Js 中的 Math.random() 返回一个 [0, 1) 的小数
      • 想要一个 [a, b] 的整数,需要手动封装
    • 这回用 Python3 造一个
    def random_test(start: int, stop: int) -> int:
        """ 此函数不考虑输入错误的情况 """
        return int(random.random() * (stop - start + 1)) + start
    
    
    print(random_test(1, 6))
    
  • 相关阅读:
    10 给予scrapy-redis的分布式爬虫
    pandas 01 序列和数据库昂
    如何控制分布式爬虫结束
    动态导入模块
    docker
    09 scrapy中间件
    scrapy 获取settings中的内容
    session对象的cookies
    文本检测-1-MSER
    CTW1500数据集介绍
  • 原文地址:https://www.cnblogs.com/yorkyu/p/12051126.html
Copyright © 2011-2022 走看看