当前位置: 首页 > 图灵资讯 > 行业资讯> 如何用namedtuple在python中做扑克牌?

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

来源:图灵python
时间: 2024-10-09 18:09:57

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

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

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

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

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

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

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

classFrenchDeck():
#['2','3','4','5','6','7','8','9','10','J','Q','K','A']
ranks=[str(i)foriinrange(2,11)]+list('JQKA')
#['黑桃','方块','梅花','红心']
suits='黑桃方块梅花红心'.split('')

def__init__(self):
self._cards=[Card(rank,suit)forrankinself.ranksforsuitinself.suits]

def__len__(self):
returnlen(self._cards)

def__getitem__(self,position):
returnself._cards[position]

补充:len()函数语法

len(object)

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

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