我向您建议一个具有基本类用法的解决方案。
首先,我们来做一个Card
class:
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]
The Card
class只是一个包装器,只是为了操作卡片而不是元组,感觉更自然。
在目前的状态下,这几乎相当于重命名tuple
type... 基本上,它只包含一个构造函数,__init__
,设置实例的属性。
所以当我打电话时Card(value, color)
在列表理解中,例如Card(11, 'spades')
,一个新的实例Card
类被创建,它有它的value
属性设置为11
,及其color
属性设置为'spades'
.
我建议您阅读一些有关 OOP 的教程,以深入了解这些概念。
现在,您可以尝试改进这个想法,例如使用更详细的values
列表而不是range(1, 14)
:
values = ['ace', '2', ..., 'king']