• 技术文章 >Python技术 >Python基础教程

    如何用namedtuple在python中做扑克牌?

    小妮浅浅小妮浅浅2020-12-08 17:09:37原创3068

    在学习了namedtuple的几种使用后,今天小编为大家带来一个有意思的教学,那就是用namedtuple做一副扑克牌。提到玩游戏方面的学习,相信很多小伙伴都非常感兴趣,有一些喜欢牌类游戏的可要集中精神看以下的内容了。代码方面不是很复杂,但是我们出错就不能进行后续的游戏了。下面我们就看看如何用namedtuple做扑克牌吧。


    Python中实现 len方法的对象,可以直接通过len(object)调用,实现getitem方法的对象,是一个可迭代对象,该对象可以进行for循环遍历,可以通过[index]索引操作。

    这里,通过命名元组namedtuple与特殊方法结合,实现一副扑克牌。

    这里扑克牌只有两个属性,一个是面值大小,一个是牌色(黑桃,方块,梅花,红心)

    所以,创建一个扑克牌的类只需要一句话,

    Card = collections.namedtuple('Card', ['牌值', '牌色'])

    现在创建一副扑克牌对象。

    class FrenchDeck():
        # ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A']
        ranks = [str(i) for i in range(2, 11)] + list('JQKA')
        # ['黑桃', '方块', '梅花', '红心']
        suits = '黑桃 方块 梅花 红心'.split(' ')
     
        def __init__(self):
            self._cards = [Card(rank, suit) for rank in self.ranks for suit in self.suits]
     
        def __len__(self):
            return len(self._cards)
     
        def __getitem__(self, position):
            return self._cards[position]

    补充:len()函数语法

    len(object)

    函数返回一个大于0的int型整数,表示对象的项目个数。

    以上就是我们用namedtupl做扑克牌的方法了,想要进一步玩扑克牌类游戏的,也可以找寻一下在python中玩牌的方法。

    专题推荐:namedtuple
    上一篇:python plotly库如何使用? 下一篇:哪些是python不支持的数据类型?

    相关文章推荐

    • 如何使用python里的namedtuple?• 如何快速掌握python中namedtuple模块?• python namedtuple中加入新字段• python namedtuple数据类哪个运行快• namedtuple如何在python中加入类型提示?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网