python常用模块-随机数

作用:参数随机数

import random
# random.random() 产生大于0小于1之间的随机的小数,每次生成都不一样
>>> random.random()
0.7579544029403025
>>> random.random()
0.420571580830845
>>> random.random()
0.25891675029296335

# random.seed(a=None):当我们设置相同的seed,每次生成的随机数相同,如果不设置seed,则每次会生成不同的随机数
>>> random.seed(0)
>>> random.random()
0.8444218515250481
>>> random.seed(0)
>>> random.random()
0.8444218515250481

>>> random.seed(2)
>>> random.uniform(1,3)
2.9120685437784988
>>> random.seed(2)
>>> random.uniform(1,3)
2.9120685437784988

>>> random.seed(1)
>>> random.randint(1,4)
2
>>> random.seed(1)
>>> random.randint(1,4)
2

# random.uniform(a,b) 产生a, b范指定围内随机小数
>>> random.uniform(1,2)
1.9081128851953353
>>> random.uniform(1,2)
1.583382039455031
>>> random.uniform(1,3)
2.0093737116347805

# random.randint(a,b) 产生a,b范围内随机整数,包含a,b
>>> random.randint(1,3)
3
>>> random.randint(1,3)
1
>>> random.randint(1,3)
2

# random.randrange(a,b,c) 产生a, b范围内的整数,包含开头不包含结尾, c是步长
>>> random.randrange(1,3)
1
>>> random.randrange(1,3)
1
>>> random.randrange(1,3)
2

>>> random.randrange(1,5,2)  # 1 和 3 
3
>>> random.randrange(1,5,2)
1
>>> random.randrange(1,5,2)
1


# random.choice(lst) 随机返回序列中的一个数据(列表、元祖、字符串)     (字典和集合不行)
>>> stus=['xiaojun','hailong','yangfan','tanailing','yangyue','cc']
>>> random.choice(stus)
'yangyue'
>>> random.choice(stus)
'cc'
>>> random.choice(stus)
'hailong'

>>> tuple1 = (1,3,4,5,6)
>>> random.choice(tuple1)
5
>>> random.choice(tuple1)
5
>>> random.choice(tuple1)
6
>>> random.choice('hello')
'l'
>>> random.choice('hello')
'o'
>>> random.choice('hello')

# 通过列表推倒式也是可以做到在序列中筛选的 
length = 12
allowed_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'

random.seed(1) # 为了控制返回的结果一致性
result = ''.join(random.choice(allowed_chars) for i in range(length)) # 
print(result)


#random.sample(lis,N) 随机取出序列中N个元素,除了字典,其他序列(列表、元祖、字符串、集合)都可以
>>> list1 = ['xiaojun','hailong','yangfan','tanailing','yangyue','cc']
>>> random.sample(list1,3)
['yangfan', 'tanailing', 'cc']
>>> random.sample(list1,3)
['tanailing', 'cc', 'hailong']
>>> random.sample(list1,3)
['yangyue', 'hailong', 'cc']

>>> random.sample('hello', 3)
['l', 'e', 'h']
>>> random.sample('hello', 3)
['o', 'l', 'l']

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

#random.shuffle() 打乱列表顺序,只能是列表,且没有返回值,改变了列表本身
>>> list2 = [1,2,3,4,5,6]
>>> random.shuffle(list2)
>>> list2
[1, 3, 2, 5, 4, 6]
>>> random.shuffle(list2)
>>> list2
[4, 1, 6, 2, 3, 5]

# random.getstate()  # 返回一个当前生成器的内部状态的对象。

 

posted @ 2020-03-18 11:12  海澜时见鲸  阅读(298)  评论(0)    收藏  举报