Python Blackjack - Count Hand of Players -
so i'm trying count hands of multiple players , compare them each other.
here's main code:
def make_deck(): # randomly shuffle deck import random cards = [] suit in ['h', 'c', 's', 'd']: 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 2 cards number of players hands = [[] p in range(num_of_players)] = -1 k in range(0,2): h in hands: += 1 h.append(deck[i]) return hands phands = deal_blackjack(deck, num_of_players) def print_blackjack(phands): # prints players respective hand in range(len(phands)): print('player', i, ':', phands[i]) def get_max(phands): #where i'm stuck @ in range(phands): total = 0 ptotal = int(phands[i][x][0])
i know have use phands , loop first character of each hand, , convert int ex. int(phands[i #of hand][x #of 1st str][0]) , add onto total
but can't seem figure how implement each hand of player.
ex. 4 players
player 0 : ['3s', 'jh'] total = 13
player 1 : ['6c', 'jc'] total = 16
player 2 : ['4h', '5d'] total = 9
player 3 : ['7d', 'ac'] total = 18
#
also, want compare each hand , select winner (where asterisk appears beside hand).
#
ex. 4 players
player 0 : ['3s', 'jh']
player 1 : ['6c', 'jc']
player 2 : ['4h', '5d']
player 3 : ['7d', 'ac'] *
thanks help!
you should create method called calculate_hand
work in there.
scores = {"a":1, "t":10, "j": 10, "k":10, "q": 10, } def calculate_hand(hand): hand_value = 0 ace = false card in hand: if card[0] == "a": ace =true; if card[:-1] in scores: #used [:-1] insted of [0] because @ first, thought 10 instead of t hand_value += scores[card[:-1]] else: hand_value += int(card[:-1]) if ace , hand_value + 10 < 22: hand_value += 10 return hand_value hand1 = ['ad', 'ac'] hand2 = ['6c', 'jc'] hand3 = ['7d', 'ac'] value1 = calculate_hand(hand1) #12 value2 = calculate_hand(hand2) #16 value3 = calculate_hand(hand3) #18
after calculate each hand, it's simple comparing values returned calculate_hand
.
print max(value1,value2,value3) #18
you should implement these code easily.
Comments
Post a Comment