python随机
Ⅰ python里面如何生成随机数
import ranodm
random.random() #生成0-1之间的随机浮点数
random.randint(1,10) #生成1-10之间的整数随机数
Ⅱ python中的随机数是怎么实现的
PYTHON中的伪随机数发生器用的是梅森旋转算法。
梅森旋转算法(Mersenne twister)是一个伪随机数发生算法。由松本真和西村拓士在1997年开发,基于有限二进制字段上的矩阵线性递归。可以快速产生高质量的伪随机数,修正了古典随机数发生算法的很多缺陷。
梅森旋转算法是R、Python、Ruby、IDL、Free Pascal、PHP、Maple、Matlab、GNU多重精度运算库和GSL的默认伪随机数产生器。从C++11开始,C++也可以使用这种算法。
整个算法主要分为三个阶段:获得基础的梅森旋转链;对于旋转链进行旋转算法;对于旋转算法所得的结果进行处理。
算法实现的过程中,参数的选取取决于梅森素数,故此得名。
梅森素数由梅森数而来。所谓梅森数,是指形如2↑p-1的一类数,其中指数p是素数,常记为Mp 。如果梅森数是素数,就称为梅森素数。
例如4-1=3,8-1=7,16-1=15(不是素数),32-1=31,64-1=63(不是素数)等等。
Ⅲ Python随机生成列表
举例说明:从集合中随机获得10个数
1、定义一个列表集合iRandom = []
2、向iRandom中插入1-60,共60个数字
3、打乱列表顺序
4、截取列表前10个数,即为随机获取到的列表集合随机数
import random iRandom = [] #定义随机数列表listRandom = list(range(1,61)) #生成整数型1-60的列表组合random.shuffle(listRandom) #打乱列表顺序iRandom = listRandom[0:10] #截取打乱后的前10个值,赋值给新列表iRandomprint('随机列表组合:',iRandom)
Ⅳ python 随机数
##importrandom
##sticks=21
##whilesticks>0:
##print('剩下',sticks)
##sticks_taken=int(input("拿棍子(1-4):"))
##computer_taken=int(random.randint(1,4))
##ifsticks==1:
##print('youlose')
##break
##ifsticks_taken>4orsticks_taken<=0:
##print('error')
##continue
##print('电脑拿了%s'%(5-sticks_taken),' ')
##sticks-=(sticks_taken+computer_taken)
##else:
##print('gameend')
"""
因不知道题意,这二个答案选哪个,你定。我觉得这题其实应
是你和电脑随机数在比赛。
"""
importrandom
sticks=21
whilesticks>0:
print('剩下',sticks)
sticks_taken=int(input("拿棍子(1-4):"))
computer_taken=int(random.randint(1,4))
ifsticks==1:
print('youlose')
break
ifsticks_taken>4orsticks_taken<=0:
print('error')
continue
print('电脑拿了%s'%computer_taken,' ')
sticks-=(sticks_taken+computer_taken)
else:
print('gameend')
Ⅳ python中生成真正的随机数
目前不管什么编程语言都无法生成真随机数,选择都是从无理数中按时间种子等方法取数,或者按一定的算法生成,从根本上讲都不是随机的
Ⅵ python随机循环
有 给个思路
FOR循环还是遍历X个值 但这个意义是遍历X次
每次循环随机一个数 去访问这个下标
建一个数组 存储已经访问了的下标
每次随机一个数,在数组里查询是否曾经访问过这个下标。
只适用于数据量比较小的遍历,数据量一大此方法的时间复杂度将陡升
Ⅶ python怎么随机取列表的值
第一步:
我分析如果从一堆数里随机抽取几个,并且按原来的顺序输出的话,那么至少要随机两次才能完成,第一次随机的值是确定随机几个数,第二次随机是确定随机的值。
第二步:
随机抽取几个可以用random.randint(1,n)这个函数来实现,这个n代表所要随机列表的长度。
第三步:
上一步出来一个数决定此次随机出几个值出来,现在假定是n,再次随机就是从列表里随机抽取n个值这个可以用random.sample(dict,n)这个方法实现,这个函数可以传入一个字典,和一个数字返回一个列表。
第四步:
得到的结果需要按原来的顺序输出,那么存储就需要考虑用dict了,因为字典的k-v特性可以实现找到原来的顺序,我具体的实现如下:
importrandom
#random_number(a)函数的功能传入一个数,返回1到这个数的随机数
defrandom_number(a):
returnrandom.randint(1,a)
#print(random_number(4))
#random_list(a,b)函数的功能,传入一个字典a,和一个数值b,
#1<=b<=a的长度,返回一个拥有b的个数值是a中的key值的list
defrandom_list(a,b):
returnrandom.sample(list(a),b)
a={1:'a',2:'j',3:'g',4:'h',5:'k',6:'i',7:'l',8:'f',9:'v',10:'b',11:2,12:5,13:'x'}
b=len(a)
#print(random_list(a,b))
#random_dictvalue函数的功能,传入一个字典a和一个列表b,返回以b为key,a中对应的value的值
defrandom_dictvalue(a,b):
b.sort()
foriinb:
print(a.get(i),end='')
print(random_dictvalue(a,random_list(a,random_number(b))))
#result
>>>================================RESTART================================
>>>
afNone
>>>================================RESTART================================
>>>
giNone
>>>================================RESTART================================
>>>
ajhlvb25xNone
Ⅷ python中生成随机整数
python 中有生成0-1以内随机数的函数random.random(),然后乘以一个倍数,再取整int就可以了。
Ⅸ python里面如何生成随机数
import
random
testlist
=
[1,3,4,5]
a,b
=
1,5
random.random()
生成0至1之间的随机浮点数,结果大于等于0.0,小于1.0
random.randint(a,b)
生成1至5之间的随机整数,结果大于等于1,小于等于5,a必须小于等于b
random.choice(testlist)从testlist中随机挑选一个数,也可以是元组、字符串