• Python的随机数模块


      random模块中几个随机函数用法。

      引入random模块:

    1 import random

      1.random.random()

      此函数用于生成一个0到1的随机浮点数:0 <= n < 1.0,即在[0,1)范围内。

    1 print(random.random())
    2 print(random.random())

    0.45076499722734553
    0.05150313289840169

      2.random.uniform(a, b)

      用于生成一个指定范围内的随机浮点数,两个参数其中一个是上限,一个是下限。如果a>b,则生成的随机数n: b <= n <= a。如果a < b,则a <= n <= b。

    1 print(random.uniform(2, 8))
    2 print(random.uniform(8, 2))

    4.83958910395014
    7.55945593444834

      3.random.randint(a, b)

      用于生成一个指定范围内的整数,其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b。

    1 print(random.randint(2, 8))
    2 print(random.randint(2, 8)).

    4
    3

      4.random.randrange

      random.randrange的函数原型为:random.randrange(start, stop[, step]),从指定范围内,按指定基数递增的集合中获取一个随机数。如:random.randrange(10, 100, 2),相当于从[10, 12, 14, 16, ...96, 98]序列中获取一个随机数。random.randrange(10, 100, 2)在结果上与random.choice(range(10, 100, 2))等效。

    1 print(random.randrange(10, 50, 2))
    2 print(random.randrange(10, 50, 2))

    46
    18

      5.random.choice

      random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。sequence在python中不是一种特定的类型,而是泛指一系列的类型,list,tuple,字符串都属于sequence。

    1 name = ['周太太', '李先生', '孙老板', '钱老板', '王五', '赵四', '张三']
    2 print(random.choice(name))

    李先生

      6.random.shuffle

      random.shuffle的函数原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱。

    1 li = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    2 random.shuffle(li)
    3 print(li)

    [2, 1, 9, 5, 7, 4, 6, 3, 8]

      7.random.sample

      random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片段。sample函数不会修改原有序列。

    1 li = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    2 s = random.sample(li, 4)
    3 print(s)
    4 print(li)

    [2, 7, 3, 4]
    [1, 2, 3, 4, 5, 6, 7, 8, 9]

      本文引自链接:http://www.360doc.com/content/14/0430/11/16044571_373443266.shtml

  • 相关阅读:
    51Nod-1013 3的幂的和【快速模幂+逆元】
    51Nod-1082 与7无关的数【进制+打表】
    51Nod-1080 两个数的平方和【暴力法】
    51Nod-1015 水仙花数【进制+查表搜索】
    51Nod-1003 阶乘后面0的数量【分析思维】
    51Nod-1002 数塔取数问题【DP】
    51Nod-1179 最大的最大公约数【暴力】
    51Nod-1018 排序【排序】
    51Nod-1126 求递推序列的第N项【递推序列+模除】
    51Nod-1031 骨牌覆盖【递推】
  • 原文地址:https://www.cnblogs.com/heshike/p/9457324.html
Copyright © 2020-2023  润新知