python中的随机数_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模块的一些总结,欢迎大家指正。^_^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值