1 回答

TA貢獻(xiàn)1795條經(jīng)驗 獲得超7個贊
有很多方法可以讓游戲運行。這是一個基本選項(無種子)。
我建議使用統(tǒng)一的字典,而不是元組、函數(shù)和整數(shù)的混合。
例如,將卡片映射到它們的值(ace 到 1,然后將值 11 作為特殊情況進(jìn)行管理,反之亦然):
cards_values = { 'Ace' : 1, 'Two' : 2, 'Three' : 3, 'Four' : 4, 'Five' : 5, 'Six' : 6, 'Seven' : 7, 'Eight' : 8, 'Nine' : 9, 'Ten' : 10, 'Jack' : 10, 'Queen' : 10, 'King' : 10 }
然后,當(dāng)你從一副牌中挑選一張牌(讓種子分開)時,你應(yīng)該考慮避免兩次選擇一張牌。一種選擇是定義可用卡的列表,然后洗牌并彈出一張卡。彈出卡片后,將其添加到玩家牌組中。
例如:
deck = list(cards_values.keys())
player_deck = []
n = 3 # or whatever cards you like
print("You have been dealt a:")
for _ in range(n):
random.shuffle(deck)
card = deck.pop()
player_deck.append(card)
print(card)
如果您打印牌組,您會看到deck缺少以下n卡片player_deck:
print (deck) #=> ['Queen', 'Jack', 'Ten', 'Three', 'King', 'Two', 'Four', 'Nine', 'Five', 'Seven']
print (player_deck) #=> ['Six', 'Ace', 'Eight']
獲取映射player_deck到的分?jǐn)?shù)cards_values(我沒有考慮 ace 的可能值 11):
sum([ cards_values[card] for card in player_deck ])
添加回答
舉報