通过洗牌算法的设计,在我们玩的牌类游戏中,落在数组某个位置的概率是相等的。你知道如何使用python来设计一个简单的洗牌算法吗?其实很简单,用random模块shuffle方法可以实现洗牌算法,本文小编带领您设计一个简单的洗牌算法。
1、洗牌算法
算法思想是从原始数组中随机抽取一个新的数字到一个新的数组,其本质是随机重排数组元素。
经过洗牌算法后,数组中每个元素落在数组某个位置的概率相等,洗牌算法在牌类游戏中非常有用。
2、简单实现洗牌算法
random模块shufle方法实现洗牌算法
shuffle()方法:随机排列列列表中的所有元素
importrandom defshuffel(lst): l=len(lst) ifl<=1: returnlst i=0 whilel>1: p=int(random.random()*l) lst[i],lst[i+p]=lst[i+p],lst[i] i+=1 l-=1 returnlst print(shuffel(1、2、2、3、3、4、5、10)
以上是python中使用的random模块shuffle方法实现洗牌算法的代码操作。返回空值会影响原数组~