python打乱list
A. 如何使用python打乱一个数组
importrandom
defrandom_list(self,alist):
length=len(alist)
blist=[]
foriinrange(length):
blist.append(random.choice(alist))
print(blist[i])
alist.remove(blist[i])
returnblist
B. 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
C. 关于python的列表问题!!术大神解答!
D. python 怎么从集合中随机数
举例说明:从集合中随机获得10个数
1、定义一个列表集合iRandom = []
2、向iRandom中插入1-60,共60个数字
3、打乱列表顺序
4、截取列表前10个数,即为随机获取到的列表集合随机数
importrandom
iRandom=[]#定义随机数列表
listRandom=list(range(1,61))#生成整数型1-60的列表组合
random.shuffle(listRandom)#打乱列表顺序
iRandom=listRandom[0:10]#截取打乱后的前10个值,赋值给新列表iRandom
print('随机列表组合:',iRandom)
E. python顺序与重复输入问题
import random
str_input = [i for i in input('请输入字符:')]
str_len = [i for i in range(len(str_input))]
str_rand = []
for i in str_len:
str_i = random.choice(str_input)
str_rand.append(str_i)
str_input.remove(str_i)
str_all = dict(zip(str_rand,str_len))
# print(str_all)
str_list = ['/' for i in str_len]
# print(str_list)
print('随机值已生成,开始游戏吧!')
while True:
str_input2 = [i for i in input('请输入字符:')]
for i in str_input2:
try:
n = str_all[i] # 在总字典中找到i的值,这个值就是序号
except KeyError:
n = -1
if 0 <= n == str_input2.index(i):
str_list[n] = i
str_all.pop(i)
else:
print('第 %d 位上的值错误或值不存在!'%(n+1))
print(str_list)
if '/' not in str_list:
break
print('恭喜你,成功猜对所有的值!')
这个程序挺有意思的
F. Python random模块常用方法
Python random模块常用方法
这篇文章主要介绍了Python random模块常用方法,本文罗列了最常用的方法,需要的朋友可以参考下
代码如下:
import random
print random.random()
获取一个小于1的浮点数
代码如下:
import random
random.randint(1,10)
获取一个从1到10的整数
代码如下:
import random
print random.uniform(0,2)
获取一个大于0小于2的浮点数
代码如下:
import random
print random.randrange(1,10,4)
获取一个从1到10步长为4的随机数
代码如下:
import random
a=[1,2,3,4,5]
random.choice(a)
从列表a从随机取出一个元素
代码如下:
import random
a=[1,2,3,4,5]
random.shuffle(a)
打乱列表a里元素的顺序
代码如下:
import random
a=[1,2,3,4,5]
random.sample(a,3)
从列表a中以随机顺序取出3个元素(一个元素只能取出一次,所以取出的个数不能大于列表所含元素的个数)
G. 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)
H. python 字典 怎么将里面的元素打乱顺序
import random random.shuffle(你的列表) 举个例子: L1 = [1, 3, 5, 7] random.shuffle(L1) print Le >>> [1, 7, 5, 3] 这样就打乱了列表内元素排序
I. python 2.78 如何编一个打乱单词的游戏急,作业。
你好
如果玩家猜错了单词呢? 希望可以多一些具体的要求
我在做了 默认的要求是这样
玩家看过五个单词 是包含那些give up的
并且 shuffle letters只能一次
import random
def shuffle(st):
string = ''
while st != '':
l = len(st)
x = int(random.random() * l)
char = st[x]
st = st[0:x] + st[x+1:l]
string = string + char
return string
word_list = ['give', 'put', 'hate', 'betrayal', 'embrassment', 'disappointment', 'fury', 'happiness', 'dream', 'opinion', 'behaviour']
print('Game begins :')
x = 0
score = 0
while True:
word = random.choice(word_list)
word_list.pop(word_list.index(word))
shuffled = shuffle(word)
print('The shuffled word is : ' + shuffled)
st = input('Type guess / shuffle letters / give up : ')
if st == 'guess':
w = input('Type the word : ')
w = w.rstrip()
if w == word:
print('Congrats!')
score += 1
else:
print('Wrong!')
elif st == 'shuffle letters':
shuffled = shuffle(shuffled)
print('The shuffled word is : ' + shuffled)
w = input('Please guess : ')
w = w.rstrip()
if w == word:
print('Congrats!')
score += 1
else:
print('Wrong!')
else:
print('You gave up.')
x += 1
if x == 5:
break
print('Game ends.')
print('Your score is : ' + str(score))