Python中的随机数不是真的随机数

计算机中的随机函数是按照一定算法模拟产生的,其结果是确定的,是可预见的,并不是真的随机。

Python中生成随机数需要导入模块random。

import random

random模块常用的几个函数

1、random()方法

#随机生成[0,1)之间的浮点数

>>> import random

>>> random.random()

0.842087374592028

2、random.uniform(a, b)

#获取指定范围内随机浮点数

#两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a

>>> random.uniform(1,10)

3.563210711167122

>>> random.uniform(10,1)

2.9816474779151774

3、random.randint(a, b)

#生成指定范围的随机整数

#其中参数a是下限,参数b是上限,生成的随机数n: a

>>> random.randint(1,10)

3

>>> random.randint(10,1)

Traceback (most recent call last):

File "

", line 1, in

random.randint(10,1)

File "D:\Python37\lib\random.py", line 222, in randint

return self.randrange(a, b+1)

File "D:\Python37\lib\random.py", line 200, in randrange

raise ValueError("empty range for randrange() (%d,%d, %d)" % (istart, istop, width))

ValueError: empty range for randrange() (10,2, -8)

4、random.randrange([start],stop[,step])

#获取指定范围内、按指定基数递增的随机的整数。

#start -- 指定范围内的开始值,包含在范围内。

#stop -- 指定范围内的结束值,不包含在范围内。

#step -- 指定递增基数,默认是1。

>>> random.randrange(1,100,3)

58

>>> random.randrange(1,100)

44

>>> random.randrange(100)

77

5、random.choice(sequence)

#从序列中随机获取一个元素,参数sequence表示一个有序类型。

>>> random.choice('abcdefghijk')

'k'

>>> random.choice(['Python','Java','C++','Ruby','JSP'])

'Java'

>>> colors = ['red','yellow','blue','white','black']

>>> random.choice(colors)

'blue'

6、random.shuffle(x[,random])

#将一个可变序列中的元素打乱

>>> items = [1,2,3,4,5,6,7]

>>> random.shuffle(items)

>>> items

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

>>> s = ['Python','is','very','simple','!']

>>> random.shuffle(s)

>>> s

['simple', 'is', 'Python', '!', 'very']

>>> colors = ['red','yellow','bule','white','black']

>>> random.shuffle(colors)

>>> colors

['bule', 'white', 'black', 'yellow', 'red']

7、random.sample(sequence,k)

#从指定的序列中随机获取指定长度的片段,原序列不变。

>>> random.sample([1,2,3,4,5,6,7],3)

[1, 2, 6]

>>> colors = ['red','yellow','bule','white','black']

>>> random.sample(colors,2)

['black', 'white']

>>> random.sample(colors,2)

['yellow', 'bule']

以上是对random模块的一些总结,欢迎大家指正。^_^

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190130B0P3YO00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券