Python模块(包)
Python模块(包)-random模块
Python模块-random模块
random() 函数,返回随机生成的一个浮点数,它在[0,1)范围内。
import random print(type(random.random())) # <class 'float'> print(random.random()) # 0.23919130526771104 print('%6f'%random.random()) # 0.595459 取6分小数点 print(int(random.random()*1000000)) # 430407 随机生成6分整数
randint(a,b)生成一个a<= x <= b之间的整数
import random print(random.randint(1,100)) # 81 print('%06d' %random.randint(1,100000)) # 080980 生成一个六位数,不足用0补齐
randrange(a,b,c)生成一个a<= x < b之间的整数,c是步长
import random print(random.randrange(1,100)) # 1到99之间整数 print(random.randrange(1,100,3)) # 1到99之间整数,步长是3的整数,比如1,4,7,10... print(random.randrange(0,100,2)) # 1到99之间偶数 print(random.randrange(1,100,2)) # 1到99之间奇数
choice(seq) 返回seq对象中的一个随机数
import random print(random.choice('python-china')) # 返回字符串中随机一个字符,包括第一个和最后一个 print(random.choice([1111,2222,3333,4444])) # 返回列表中的一个随机数 print(random.choice((1,2,3,4))) # 返回元组中的一个随机数
seed() ,设置随机种子 ,用于同步不同运行环境的随机数。
seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数。
我们调用 random.random() 生成随机数时,每一次生成的数都是随机的。但是,当我们预先使用 random.seed(x) 设定好种子之后,其中的 x 可以是任意数字,如10,这个时候,先调用它的情况下,使用 random() 生成的随机数将会是同一个。
本函数没有返回值。
import random # 没有设置seed的时候,random.randint(1,10),每次都是随机生成一个1到9之间的整数 print('a=%d' %random.randint(1,10)) # a=9 print('b=%d' %random.randint(1,10)) # b=10 print('c=%d' %random.randint(1,10)) # c=5 # 设置seed后,第一次生成的随机数,后面的生成的随机数也是一样的 random.seed(1) print(random.randint(1,10)) # 3 random.seed(1) print('a=%d' %random.randint(1,10)) # 3 random.seed(1) print('b=%d' %random.randint(1,10)) # 3 random.seed(1) print('c=%d' %random.randint(1,10)) # 3
uniform(a,b) 函数随机生成一个浮点数x,范围是a <= x < b
import random print(random.uniform(1,100)) # 93.22419525074488 random.uniform(50.5,90.6) print(random.uniform(50.5,90.6)) # 77.56792283296461
sample(seq,x) 随机取样,在seq里面随机取出x个数
返回的是一个列表
import random list = [0,1,2,3,4] rs = random.sample(list, 2) print(rs) # [3, 2] print(list) # [0, 1, 2, 3, 4] _str = 'hello world' r_s = random.sample(_str,3) print(r_s) # ['h', 'l', 'o'] _tuple = (1,2,3,4) r_t = random.sample(_tuple,3) print(type(r_t)) # <class 'list'> print(r_t) # [4, 1, 3]
shuffle(seq) 打乱序列,seq必须是一个可变序列,比如列表。元组,字符串不能打乱
不返回任何
import random _list = 'abcd' random.shuffle(_list) print(_list)
最后修改:2020年4月10日 11:55