专业编程基础技术教程

网站首页 > 基础教程 正文

Python中random模块的使用 Python中random模块的使用

ccvgpt 2024-08-07 18:49:04 基础教程 8 ℃

Python常用的内置模块。

现在去看一下random模块,这个模块是用于产生随机数的标准库,它里面有这样的一些函数。

Python中random模块的使用 Python中random模块的使用

·第一个叫seed,初始化给定的随机种子,当随机种子相同的时候,它所产生的随机数也相同。如果不给定,随机种子默认是当前的系统时间。random会产生一个0.0-1.0之间的随机小数,包含0.0但是不包含1.0。

·再看下面的randint,它会产生一个a到b之间的整数,包含a也包含b。randrange()产生一个包含m但是不包含n的,之间步长为k的随机整数。

·然后看一下这个叫uniform,uniform生成一个a到b之间的随机小数,包含a也包含b。choice从序列当中随机选择一个元素去输出,然后shuffle将序列当中的元素进行随机的排列。 shuffle原意是洗牌的意思,就跟洗扑克牌似的,洗完之后的结果是乱的,根本不知道的,所以叫做随机排列。

·现在去看一下这个模块当中这些函数的使用。在这新建了一个Python文件叫random模块的使用。在这的时候要想去使用这个模块,先把这个模块进行导入,叫import random,把它导入进来就可以去使用它了。

·先来去设置一下随机的种子,叫random.seed(),给它设置为10,就随机种子设置为10值。

·紧接着让它去产生这样的一个随机小数,先让它产生两个,叫random.random前面这是个模块名字,后面这是一个函数的名字。

·紧接着让它去产生两个,所以进行一个复制。复制完成之后,现在再把前三行代码进行复制,中间去输出一个分隔线。

去看一下当随机种子相同的时候,它所产生出来的随机数有一个什么样的特点?在这复制完成了,现在单击右键去运行一下Python文件,然后观察所输出的4个随机数。第一个输出是0.57,第二个是0.42,第三个0.57,第四个0.42。

发现没,当随机种子相同,它产生的随机数也相同,所以要注意一下,种子相同所产生的随机数也相同。如果没有去设置种子,它是以当前的系统时间去作为随机数的种子。

再去看一下如何产生一个a到b之间的整数,这个实际上用过包含a也包含b之间的整数,它所用到的函数叫randint,random.randint(),让它去产生一个1-100之间的整数。

再看如何去产生一个包含m但是不包含n,步长为k的随机整数。这个怎么做?在这的时候写上它是一个包含m但是不包含n步长为k的随机整数。在这让它产生10个,所以在这写个foriin range,让它产生10个,循环执行10次,在这去输出所产生的随机数,它叫做random.randrange()。

后面是rang,包含谁?让它产生一个包含1但是不包含10,步长为3这样的数。现在把上面的这块添加一个分割线,看一下下面这10个数有什么特点。

接一下单击右键去运行Python文件,看一下后面的这10个。第一个数是1,步长是3,从这一随机数步长是3,4,4步长是3,7,也就是随机数会在147之间产生。还有让它产生一个包含a又包含b的随机小数,这个是包含a包含b,包含b的随机数。

去输出一下,它叫做random,random是模块的名称,叫做uniform,让它产生一个1到100之间,1到100之间不是整数,这个参数是一个浮点数,所以它的结果是一个小数。

现在运行一下,单击右键运行,去看一下整个的运行结果当中的最后的一个,看一下是不是小数33.449。

·现在再看还有一个叫choice,choice也是比较常用的,它会从序列当中随机找一个拿出来,在这得有序列,所以使用一个列表生成式,让它生成一个1-10之间的整数,就是for iin range1到10之间,所以写个1,11,然后让它从1到10之间随便任意的去拿出一个元素进行输出。

怎么拿?用的是random.choice()选择,从列表当中随便去选择一个元素输出。

·最后一个叫随机排序,这叫随机排序,随机排序相当于做洗牌的意思,所以它叫做random.shuffle。把这个列表放进来,然后再去输出这个列表,把这两句代码复制,也就说让它随机的排序两次,看一下它的结果。

现在去运行一下,看一下后三行的输出结果,因为在这的时候有一个叫随机吗?叫choice,从列表当中随机去选择一个元素进行输出,这个列表当中的元素选出来是四,随机排序的结果是这样的。

下面这是另外的一种随机排序的结果,这个就是random这个模块的使用。

最近发表
标签列表