这个想法属于班级卡片 我有词典
pack_of_cards = {'2': 2,'3': 3,'4': 4,'5': 5,'6': 6, \
'7': 7,'8': 7,'9': 9,'10': 10,'J': 10, \
'D': 10,'K': 10,'T': 10}
我需要这个类将一组随机的键和值作为dict返回。
例如:
Card() == {'T': 10}
感谢大家。
答案 0 :(得分:0)
您可以使用random.sample()
返回所需的卡数,例如:
>>> import random
>>> dict(random.sample(pack_of_cards.items(), k=5))
{'10': 10, '5': 5, '9': 9, 'J': 10, 'K': 10}
(对于cribbage来说不是坏手)
答案 1 :(得分:0)
您可以使用random
模块中的方法执行此操作,但除非您的Card
类实现__eq__
方法,否则它不会有意义。例如:
In [450]: class Card:
...: def __init__(self, suite, num):
...: self.suite = suite
...: self.num = num
...:
...: def __eq__(self, item):
...: k, v = list(item.items())[0]
...: return True if (self.suite == k and self.num == v) else False
...:
In [452]: c = Card('T', 10)
In [454]: c == {'T' : 10}
Out[454]: True
现在你有了一个工人阶级,你可以使用random.choice
来提取一张卡片:
In [470]: x = random.choice(list(pack_of_cards.items()))
In [471]: dict([x])
Out[471]: {'D': 10}