Python random库

2017-07-30 22:26:19

随机函数random库的使用频率还是蛮高的,下面我就介绍一下python中random库的使用。相较于c++,Python的random库简直不要更好用。

毫无疑问,使用前需要导入random库,即import random。然后就可以尽情使用了。

Python会自行添加种子,不需要自己去添加。

一、随机实数

  • random.random():无参数,将返回一个 [0,1) 的浮点数
import random

# 不需要自己添加种子,Python真的好用
print(random.random()) print(random.random()) # 0.07585186785562659 # 0.2636194113603577
  •  random.uniform(a,b):将返回一个 [a,b] 的浮点数
import random

print(random.uniform(3,5))
print(random.uniform(6,10))

# 3.205932268055906
# 7.324613280527553

如果要返回一个在 [a,b) 的浮点数,则可以借助 random.random() 函数,使用技巧 a + (b-a)*random.random() 即可

 

二、随机整数

  • random.randint(a,b):将返回一个 [a,b] 之间的随机整数
import random

print(random.randint(3,5))
print(random.randint(6,10))

# 4
# 7

 

  • random.randrange(start,end,step):将返回 [start,end) 之间步长为step的随机整数。start缺省为0,step缺省为1
import random

# 输出 100 <= number < 1000 间的偶数
print ("randrange(100, 1000, 2) : ", random.randrange(100, 1000, 2))# 输出 100 <= number < 1000 间的其他数
print ("randrange(100, 1000, 3) : ", random.randrange(100, 1000, 3))

# randrange(100, 1000, 2) :  976
# randrange(100, 1000, 3) :  520

 

 

三、随机序列值

 

  • random.choice(seq):从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数
import random

print ("choice([1, 2, 3, 5, 9]) : ", random.choice([1, 2, 3, 5, 9]))print ("choice('A String') : ", random.choice('A String'))# choice([1, 2, 3, 5, 9]) :  2
# choice('A String') :  n
  • random.shuffle (lst):将序列的所有元素随机排序。lst 可以是一个序列或者元组,将返回随机排序后的序列
import random

list = [20, 16, 10, 5];
random.shuffle(list)
print ("随机排序列表 : ",  list)

random.shuffle(list)
print ("随机排序列表 : ",  list)

# 随机排序列表 :  [16, 5, 10, 20]
# 随机排序列表 :  [16, 5, 20, 10]

 

  • random.sample(seq,k):从seq从选取k个互异的样本,并形成一个列表返回
import random

print(random.sample('abcdefghij',3))

# ['e', 'c', 'd']

 

posted @ 2017-07-31 16:20  hyserendipity  阅读(542)  评论(0编辑  收藏  举报