Python3.6 模块学习之random模块
2017-07-30 13:29
363 查看
random是内建(built-in)函数,作用是产生随机数
导入模块:
最常用的函数有如下:
random.randint
random.random
生成一个0到1之间的随机浮点数,包括0但不包括1,也就是[0.0, 1.0)。
random.uniform
即
random.choice
都是可行的用法。
random.randrange
生成一个从start到stop(不包括stop),间隔为step的一个随机整数。start、stop、step都要为整数,且start<stop。
random.sample
这个模块很 666,还支持三角、β分布、指数分布、伽马分布、高斯分布等等非常专业的随机算法。
random.shuffle
结果如下:
新手在使用此函数时可能会出现一些错误,如下:
后的序列
官网random库链接
导入模块:
import random接着就可以调用random模块下的函数了使用 dir(random)可以查看random模块下有哪些函数,结果如下:
>>> dir(random) ['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_BuiltinMethodType', '_MethodType', '_Sequence ', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_acos', '_bisect ', '_ceil', '_cos', '_e', '_exp', '_inst', '_itertools', '_log', '_pi', '_random', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom' , '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvaria te']
最常用的函数有如下:
random.randint
random.randint(1,10)语句的含义是产生1至10(包含1与10)的一个随机数(整数int型)。(参数为整数不可为浮点数否则会报错)
random.randint(20, 10) #该语句是错误的。下限必须小于或等于上限。
random.random
random.random()
生成一个0到1之间的随机浮点数,包括0但不包括1,也就是[0.0, 1.0)。
random.uniform
random.uniform(a, b)生成a、b之间的随机浮点数。不过与randint不同的是,a、b可以不是整数,也不用考虑大小。
即
random.uniform(3.65,10.56)#可以这样
random.uniform(10.56, 3.65)#也可以这样
random.choice
random.choice(seq)从序列中随机选取一个元素。seq需要是一个序列,比如list、元组、字符串。
random.choice([1, 2, 3, 5, 8, 13]) #list random.choice('hello') #字符串 random.choice(['hello', 'world']) #字符串组成的list random.choice((1, 2, 3)) #元组
都是可行的用法。
random.randrange
random.randrange(start, stop, step)
生成一个从start到stop(不包括stop),间隔为step的一个随机整数。start、stop、step都要为整数,且start<stop。
random.sample
random.sample(p, k)从p序列中,随机获取k个元素,生成一个新序列。sample不改变原来序列。
这个模块很 666,还支持三角、β分布、指数分布、伽马分布、高斯分布等等非常专业的随机算法。
random.shuffle
random.shuffle(x)把序列x中的元素顺序打乱。shuffle直接改变原有的序列。如:
import random a=[1,2,3,4,5,6] random.shuffle(a) print(a)
结果如下:
[5, 1, 3, 6, 4, 2]
新手在使用此函数时可能会出现一些错误,如下:
import random a=[1,2,3,4,5,6] print(random.shuffle(a))使用此方法会出现None结果,原因是random.shuffle() 是用来打乱列表元素的,没有返回值,所以不能用print(random.shuffle(a))来输出打印打乱
后的序列
官网random库链接
相关文章推荐
- Python模块学习 ---- random 随机数生成
- 学习python之 random 模块
- Python模块学习 ---- random 随机数生成
- python模块学习之random
- Python模块学习--random 随机数生成
- 学习笔记☞ python 基础(python3)【四】(函数 function,None,return,列表-2,random模块)
- Python模块学习--random 随机数生成
- Python模块学习笔记— —random
- python 学习记录(5)-变量、模块名的命名规则及random模块使用
- Python模块学习 ---- random 随机数生成
- Python模块学习 ---- random 随机数生成
- Python模块学习 ---- random 随机数生成
- Python学习笔记:详解random模块和time模块
- Python模块学习笔记— —random
- Python的random模块学习
- python random模块学习笔记
- Python 模块学习:random 随机数生成
- python学习之random模块
- Python 模块学习:random 随机数生成
- python学习——random模块