基于python制作一副扑克牌过程详解图,Python编写扑克牌

基于python制作一副扑克牌过程详解图,Python编写扑克牌,基于Python制作一副扑克牌过程详解

本文主要介绍了基于Python制作一副扑克牌的详细过程。通过示例代码进行了非常详细的介绍,对大家的学习或工作有一定的参考价值。有需要的朋友可以参考一下。

整理出来,通过这篇文章分享给大家。本案例是通过Python类属性创建一张52张扑克牌去掉王和王后的图片,实现随机抽牌、排序、洗牌等功能;

创建一个卡片类。

一副扑克可以分为四组,每组13张牌,以花色为基础(梅花、方块、黑桃、红心),王、王除外。因此,可以创建两个列表,一个存储花色,另一个存储13个字符。通过两个列表之间的随机组合产生52张卡片,

代码如下:

代码中由collections.namedtuple模块创建一个类来表示一张牌,['rank ',' suit']分别表示牌中的字符(2-10,J-A)和花色;

FranchDeck类用于构建52张卡片。有两个特殊的方法,len()返回卡片的数量,__getitem__()获取position (index)下指定的卡片。

随机抽一张牌

这里用随机模块实现随机抽卡的功能。

迭代、切片

因为__getitem__方法把[]操作交给了自我。_cards list,除了上面提到的索引定位,FranckDeck()类还可以实现切片和迭代操作;

分类操作

一般来说,根据点数判断扑克牌大小时,2最小,A最大。点的排序相对简单。创建点列表时,会按上述顺序创建。排序时,只需要按照点所在的索引进行排序即可。

除了点数,还有一个颜色需要考虑。对于颜色,需要建立一个映射基准(也叫权重),不同的颜色赋予不同的值;Python的字典类型可以在很多方面满足我们的需求。

代码解释:

1.通过使用字典在代码中添加映射机制,黑桃是3,红桃是2,方块是第二,梅花是下一个;2.创建黑桃_高函数,计算每张牌的总重量;3.sorted()功能键=黑桃_高作为排序基准对扑克牌进行排序。

洗牌操作

洗牌就是随机地重新排列一副扑克牌;一般情况下,random.shuffle可以通过多种方式实现这个功能,但前提是要保证对象符合变量协议。这里不满足FranchDeck(),如果直接使用会报错:

对于上面的问题,只需要将这个类由不变量改为变量,并创建一个函数将其赋为__setitem__属性即可。

这里已经提取了洗牌前后牌的前五行,实现了洗牌的功能!

根据上面的代码部分,我们可以进一步提前开发设计54张扑克牌的视觉图片。

创建一个key:value映射关系,在扑克牌人物和视觉图片之间创建一个映射关系,如下图所示,并将这个关系集存储在指定的数据库或文件中,使用后可以直接调用。

按照上面的高级玩法,创建一个基于Python的扑克牌小程序!

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 用python创建简易网站图文教程图片,用python制作网站
  • 用python创建简易网站图文教程图片,用python制作网站,用Python创建简易网站图文教程
  • 炸金花游戏怎么制作,炸金花游戏教程,基于Python制作炸金花游戏的过程详解
  • 如何用python制作相册,用python做相册
  • 基于python制作一副扑克牌过程详解图,Python编写扑克牌,基于Python制作一副扑克牌过程详解
  • 基于python制作一个相册播放器的软件,用python做相册,基于Python制作一个相册播放器
  • python抢演唱会门票,如何利用python抢票,为了顺利买到演唱会的票用Python制作了自动抢票的脚本
  • ,,用python制作词云视频详解
  • python简单二维码生成代码,怎么用python制作二维码
  • python前端界面实现交互,python制作windows交互界面
  • 用python制作动态二维码,Python 生成二维码
  • 用html和css画圣诞树,用python制作圣诞树
  • python制作whl安装包,python官网安装步骤
  • python制作软件界面,python图形化界面设计
  • 生成二维码的代码 python,python制作二维码步骤
  • 留言与评论(共有 条评论)
       
    验证码: