【发布时间】:2016-12-29 17:19:21
【问题描述】:
与其说是问题或疑问,不如说是想知道其他人会如何处理这个问题。我正在使用 python 来通过 python 的类结构制作二十一点游戏,并且我已经将卡片组做成了一个数组,其中卡片作为字符串。这有助于在 21 点中 4 张牌值 10 而 A 可以值 1 或 11 的事实。但是,计算一手牌的价值是困难的。牌组在 init 中。这怎么可能更好?我考虑过字典,但它不处理重复项。任何想法表示赞赏。对不起,如果这是一个糟糕的帖子,我是新来的。
self.deck = [['2']*4, ['3']*4, ['4']*4, ['5']*4, ['6']*4, ['7']*4, \
['8']*4, ['9']*4, ['10']*4, ['J']*4, ['Q']*4, ['K']*4, \
['A']*4]
def bust(self, person):
count = 0
for i in self.cards[person]:
if i == 'A':
count += 1
elif i == '2':
count += 2
elif i == '3':
count += 3
elif i == '4':
count += 4
elif i == '5':
count += 5
elif i == '6':
count += 6
【问题讨论】:
-
我会有一个字典,将每个
i映射到一个数字。然后count = sum(counts[i] for i in self.cards[person]).
标签: python list dictionary blackjack