千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:青岛千锋IT培训  >  技术干货  >  python中如何实现简单的洗牌算法

python中如何实现简单的洗牌算法

来源:千锋教育
发布人:xqq
时间: 2023-11-11 10:05:13

python中如何实现简单的洗牌算法

在我们玩的牌类游戏中,通过洗牌算法的设计,落在数组某个位置上的概率是相等的,那你知道如何使用python设计一个简单的洗牌算法吗?其实实现很简单,使用random模块shuffle方法即可实现洗牌算法,本文小编带领大家设计一个简单的洗牌算法。

1、洗牌算法

算法思想就是从原始数组中随机抽取一个新的数字到新数组中,其本质是对数组元素进行随机重排。

数组中每个元素经过洗牌算法后落在数组某个位置上的概率是相等的,洗牌算法在牌类游戏中非常有用。

2、洗牌算法的简单实现

random模块shuffle方法实现洗牌算法

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方法实现洗牌算法的代码操作,需要注意的是习方法返回空值,会影响原数组哦~更多Python学习教程请关注IT培训机构:千锋教育。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

python如何提取文本信息?

2023-11-14

python基类是什么意思

2023-11-14

python生成器推导式是什么

2023-11-14

最新文章NEW

python__del__方法的使用

2023-11-14

python参数中默认值的执行

2023-11-14

python内置作用域是什么

2023-11-14

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>