快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

python随机选人函数,python 随机选择

randint在python中的意思

python中的randint用来生成随机数,在使用randint之前,需要调用random库。其表达是为random.randint(x,y),参数x和y代表生成随机数的区间范围。

成都创新互联公司网络公司拥有10多年的成都网站开发建设经验,1000+客户的共同信赖。提供网站建设、成都做网站、网站开发、网站定制、买链接、建网站、网站搭建、响应式网站建设、网页设计师打造企业风格,提供周到的售前咨询和贴心的售后服务

random() 函数命名来源于英文单词random(随机)。randint是random + integer拼接简写而成,代表随机一个整数。

Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。

函数randint的使用

1、OUT = RANDINT

产生一个“ 0 ”或“ 1 ”等概率。

2、OUT = RANDINT(M)

生成的M 矩阵的随机二进制数字,“ 0 ”和“ 1 ”出现的概率均等。

3、OUT = RANDINT(M,N)

生成的(M,N) 矩阵的随机二进制数字,“ 0 ”和“ 1 ”出现的概率均等。

4、OUT = RANDINT(M,N,RANGE)

生成的(M,N) 矩阵的随机二进制数字,RANGE范围可以是标量或向量。

标量:为正的话,取值为[0,RANGE-1] ,为负的话,取值为 [RANGE+1, 0]。

向量:取值为[RANGE(1), RANGE(2)]。

5、OUT = RANDINT(M,N,RANGE,STATE)

resets the state of RAND to STATE。

Python如何设置六个人当中选出来三个程序?

from random import sample

people_list = ['A', 'B', 'C', 'D', 'E', 'F'] #6个人名的列表

choose_three = sample(people_list, 3) #随机选出3个人

print(choose_three)   #打印列表

print(*choose_three) #打印列表内单个内容,并用空格隔开

print(*choose_three, sep='\n') #分行打印列表内容

示例输出:

['D', 'F', 'B']

D F B

D

F

B

python基础2:随机数生成—random模块、numpy中的random函数

在Python中可以用于随机数生成的有两种主要途径,一是random模块,另一个是numpy库中random函数。

在我们日常使用中,如果是为了得到随机的单个数,多考虑random模块;如果是为了得到随机小数或者整数的矩阵,就多考虑numpy中的random函数,当然numpy也可以的到随机的单个数

一、random模块

二、numpy库中random函数

random模块中将近有7个函数都是可以用来生成随机数的:

作用:随机生成一个 [0,1) 的浮点数

作用:随机生成一个 [a,b) 的浮点数

作用:随机生成一个 [a,b] 的整数

作用:从列表,元组,字符串、集合(可用于for循环的数据类型)中随机选择一个元素

作用:在生成的以a为始,每step递增,以b为终这样的一个整数序列中随机选择一个数

作用:打乱一个列表的元素顺序

从序列population中随机取出k个数;population的类型可以是列表、元组、集合、字符串;

在Numpy库中,常用使用np.random.rand()、np.random.randn()和np.random.randint()随机函数。

作用:返回一个或一组服从标准正态分布的随机样本值

备注:标准正态分布是以0为均数、以1为标准差的正态分布,记为N(0,1)。对应的正态分布曲线如下所示,即

作用:使用方法与np.random.randn()函数相同 ,通过本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1

numpy.random.randint(low, high=None, size=None, dtype='l')

输入:

low—–为最小值

high—-为最大值

size—–为数组维度大小

dtype—为数据类型,默认的数据类型是np.int。

作用: 返回随机整数或整型数组,范围区间为[low,high),包含low,不包含high; high没有填写时,默认生成随机数的范围是[0,low

np.random.random([size])

作用:生成[0,1)之间的浮点数,与np.random.rand()功能类似

np.random.choice(a,[ size, replace, p])

参考文档1: 【python】numpy之random库简单的随机数据生成.rand()、.randint()、.randn()、.random()等(一)

参考文档2: Python中随机数的生成

参考文档3: numpy.random模块常用函数

终于写完了,我以为它很简单的………………预计1小时,结果写了2.5小时

活学活用Python03:群成员随机两人配对

今天下午,成长群的群主申总提出,群里每个人找一个战友,互帮互助。一石激起千层浪,群里面积极向上好青年们就开始踊跃自我介绍,一个比一个优秀,让人羡慕不已。我正想要参与其中,突然想到我的活学活用系列需要更新了。没有困难,创造困难也要上。于是,仔细想一想,可能出现几种情况:

如果用Python来随机配对,能解决上面的问题。还有一个好处,每个月初,有了新的成员加进来之后,可以重新打乱配对一次,这样每个月都会有一个新的战友配对,就可以结交一个新朋友,岂不更好。

把全体群成员放在一个集合里面,然后随机的从这个集合中挑出两个元素,作为一对战友,然后把这俩哥们从集合中删除,剩下的成员组成了新的集合,再对新的集合重复上面的操作,一直到新的集合为空,程序结束

在Python中可以用list或者set来实现

set和list的区别如下:

set是无序的,不可重复的

list是有序的,可以重复的

直觉上set比较适合,于是查看set的文档,看有没有适合的操作函数。发现set的操作函数有5个:

其中pop()从集合中删除并返回随机的一个元素,好像很符合我的要求,于是动手尝试。

输入的结果如下:

成功了O(∩_∩)O哈哈~

PS:因为可能存在成员数为单数的情况,为了不使程序出错,这里添加了一个try-except

上面是用set实现的,那用list能实现吗?

答案是:可以

查看Python文档,发现一个函数非常适合:random.shuffle,这个家伙能把一个list中的成员洗牌打乱,那么我们就可以按照顺序把大乱以后的list中的成员打印出来,挨着的两个成员就成为战友。实现如下:

输入的结果如下:

成功,而且不会因为单数问题报错,实现起来也比set简单,更重要的一点是程序运行后生成了一个雷暴members保存了所有的战友匹配信息。方便保存。

这里有个知识点是list的切片,list[i:j]返回的是一个小list,是原来list的第i个元素到第j个元素。

如果要应用到群成员配对,只需要把members的内容替换成为愿意程序配对的群成员们就可以啦

set创建和pop()函数

list创建,list切片

random.shuffle(list)给list洗牌


当前标题:python随机选人函数,python 随机选择
分享URL:http://6mz.cn/article/dssjcoj.html

其他资讯