Skip to content

Instantly share code, notes, and snippets.

@yunsu3042
Created October 12, 2016 10:06
Show Gist options
  • Save yunsu3042/d356d0b4152a0b71220e6cf79fd360f6 to your computer and use it in GitHub Desktop.
Save yunsu3042/d356d0b4152a0b71220e6cf79fd360f6 to your computer and use it in GitHub Desktop.
import random
def new_card():
DEX = [1,2,3,4,5,6,7,8,9,10,'A','J','K','Q']
card = DEX * 4
random.shuffle(card)
return card
player_card = []
dealer_card = []
def play_dealer(card):
print("dealer_card {}".format(dealer_card))
while (1):
score_list = calc_score(dealer_card)
cur_score = select_score(score_list)
print(dealer_card, score_list, cur_score)
if cur_score > 17:
if score_list[0] < 20 and 'A' in dealer_card:
pass
else:
break
dealer_card.append(card.pop())
return cur_score
def game_player(game_no, card):
while (1):
score_list = calc_score(player_card)
print("Game no {}".format(game_no))
print("cards {}".format(player_card))
print("scores {}".format(score_list))
cur_score = select_score(score_list)
if cur_score > 21:
print("player burst")
break
while (1):
res = input("Hit or Stand(h or s)")
if res == 'h' or res == 's':
break
if res == 's':
break
player_card.append(card.pop())
my_score = cur_score
return my_score
def select_score(score_list):
if len(score_list) == 1:
my_score = score_list[0]
else:
if score_list[1] > 21:
my_score = score_list[0]
else:
my_score = score_list[1]
print(score_list, my_score)
return my_score
def calc_score(card_list):
score0 = 0
score1 = 0
for c in card_list:
if c == 'A':
if score1 == score0:
score1 += 11
else:
score1 += 1
score0 += 1
elif c == 'J' or c == 'Q' or c == 'K':
score0 += 10
score1 += 10
else:
score0 += c
score1 += c
if score0 == score1:
return (score0,)
else:
return (score0, score1)
game_no = 1
while(1):
card = new_card()
player_card = []
dealer_card = []
player_card.append( card.pop() )
player_card.append( card.pop() )
dealer_card.append( card.pop() )
player_score = game_player( game_no,card)
dealer_score = play_dealer(card)
print(player_score, dealer_score)
game_no += 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment