我建议您使用基本类用法的解决方案。
首先,让我们创建一个Card 类:
class Card:
def __init__(self, value, color):
self.value = value
self.color = color
那么,我们来做一个颜色列表:
colors = ['heart', 'diamonds', 'spades', 'clubs']
最后,让我们用列表理解来构建你的套牌:
deck = [Card(value, color) for value in range(1, 14) for color in colors]
Card 类只是一个包装器,只是用来操作卡片而不是元组,感觉更自然。
在当前状态下,几乎等同于重命名tuple 类型...基本上,它只包含在一个构造函数__init__ 中,它设置实例的属性。
所以当我在列表理解中调用Card(value, color) 时,例如Card(11, 'spades'),将创建Card 类的新实例,其value 属性设置为11,其@ 987654334@属性设置为'spades'。
我建议您阅读一些有关 OOP 的教程,以深入了解这些概念。
现在,您可以尝试改进这个想法,例如使用更详细的values 列表而不是range(1, 14):
values = ['ace', '2', ..., 'king']