import random
ll = []
for j in ["红桃","黑桃","方块","梅花"]:
for i in range(1,14):
ll.append(j+ str(i))
ll.append("大王")
ll.append("小王")
print("原始: " , ll)
ll1 = ll.copy()
ll2 = ll.copy()
#方法1:从原始数组中随机抽取一个新的元素添加到新的数组,然后从原始数组中剔除该元素
def shuffle1(ll):
result = []
while ll:
temp = random.randrange(0,len(ll))
result.append(ll[temp])
ll.pop(temp)
return result
print("洗牌后: " , shuffle1(ll1))
#方法2
def shuffle2(ll):
for i in range(len(ll)-1,0,-1):
p = random.randrange(0, i+1)
ll[i], ll[p] = ll[p], ll[i]
return ll
print("洗牌后: ", shuffle2(ll2))
洗牌算法
最新推荐文章于 2024-08-08 21:46:08 发布