【发布时间】:2021-06-22 19:01:31
【问题描述】:
我有一个 Card 类,它具有分别访问卡牌等级和花色的方法。
class Card:
def __init__(self, v, p):
self.value = v
self.naipe = p
def get_value(self):
return self.value
def get_naipe(self):
return self.naipe
def get(self):
return (self.value, self.naipe)
我还有一个返回混合牌组的功能,还有一个只返回一张牌的功能。 Obs:这些函数不属于卡片类
def shuffle_pack():
pack = []
naipes = {'\u2660', '\u2661', '\u2662', '\u2663'}
values = {'2', '3', '4', '5', '6', '7', 'Q', 'J', 'K', 'A'}
for value in values:
for naipe in naipes:
pack.append(Card(value, naipe))
random.shuffle(pack)
return pack
def return_card(pack):
card = pack.pop()
return card
执行示例:
pack = shuffle_pack()
distribui_carta(pack).get_naipe()
'♡'
pack = shuffle_pack()
distribui_carta(pack).get_value()
'3'
pack = shuffle_pack()
distribui_carta(pack).get()
('2', '♠')
我想使用字典而不是列表,并用两组来填充它。其中第一组,指的是key的值,是deck的花色,deck的值对应字典中的值。我正在寻找类似于 list 的 append 方法的东西,以在键和值之间进行这种“连接”。
我想这样做是为了在不使用 Card 类的情况下单独获取给定卡片的价值和花色。
【问题讨论】:
-
你能举一个你希望制作的字典的例子吗?从你的描述我不知道你想要什么。
{'♡': ['2', '3', '4']}之类的东西(但有更多的西装和价值观)? -
是的,就是这样。每套西装都有其价值。但是,我打算以与列表类似的方式实现一个 for ,然后将值添加到给定的西装,然后将它们添加到空字典中。
标签: python-3.x list dictionary