所以我试着数数多位选手的手数,然后互相比较。在
以下是我的主要代码:
def make_deck():
# Randomly shuffle a deck
import random
cards = []
for suit in ['H', 'C', 'S', 'D']:
for num in ['A', '2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q',
'K']:
cards.append(num + suit)
random.shuffle(cards)
return cards
deck = make_deck()
num_of_players = int(input("How many players?: "))
def deal_blackjack(deck, num_of_players):
# Deal two cards to a number of players
hands = [[] for p in range(num_of_players)]
i = -1
for k in range(0,2):
for h in hands:
i += 1
h.append(deck[i])
return hands
pHands = deal_blackjack(deck, num_of_players)
def print_blackjack(pHands):
# Prints Players with respective hand
for i in range(len(pHands)):
print('Player', i, ':', pHands[i])
def get_max(pHands):
#Where I'm stuck at
for i in range(pHands):
total = 0
pTotal = int(pHands[i][x][0])
我知道我必须使用pHands和一个循环来获取每只手的第一个字符,并将其转换为int ex.int(pHands[I#of hand][x#of 1st str][0]),然后将它加到total上
但我似乎不知道如何在玩家的每只手上实现它。在
前四名选手
玩家0:['3S','JH']总计=13
玩家1:['6C','JC']总计=16
玩家2:['4H','5D']总计=9
玩家3:['7D','AC']总计=18
另外,我想比较每只手牌并选择一个赢家(在手的旁边会出现一个星号)。在
前四名选手
玩家0:['3S','JH']
玩家1:['6C','JC']
玩家2:['4H','5D']
玩家3:['7D','AC']*
谢谢你的帮助!在
您应该创建一个名为
calculate_hand
的方法,然后在那里完成工作。在计算完每只手之后,只需比较
^{pr2}$calculate_hand
返回的值。在您应该很容易地将这些实现到您的代码中。在
相关问题 更多 >
编程相关推荐