Skip to content

Instantly share code, notes, and snippets.

@pmbaumgartner
Created September 16, 2016 01:28
Show Gist options
  • Select an option

  • Save pmbaumgartner/7eda5c765f4222bcf8b9ec4ac941b8de to your computer and use it in GitHub Desktop.

Select an option

Save pmbaumgartner/7eda5c765f4222bcf8b9ec4ac941b8de to your computer and use it in GitHub Desktop.
quick blackjack script based off of TIY homework
card_values = {
'a' : 11,
'k' : 10,
'q' : 10,
'j' : 10,
'10' : 10,
'9' : 9,
'8' : 8,
'7' : 7,
'6' : 6,
'5' : 5,
'4' : 4,
'3' : 3,
'2' : 2
}
strategy_chart = {
17 : {k : 'stand' for k in range(2, 12)},
16 : {k : ('stand' if k < 7 else 'hit') for k in range(2, 12)},
15 : {k : ('stand' if k < 7 else 'hit') for k in range(2, 12)},
14 : {k : ('stand' if k < 7 else 'hit') for k in range(2, 12)},
13 : {k : ('stand' if k < 7 else 'hit') for k in range(2, 12)},
12 : {k : ('stand' if k < 7 and k > 3 else 'hit') for k in range(2, 12)},
11 : {k : 'double down' for k in range(2, 12)},
10 : {k : ('double down' if k < 10 else 'hit') for k in range(2, 12)},
9 : {k : ('double down' if k < 7 else 'hit') for k in range(2, 12)},
8 : {k : ('double down' if k < 7 and k > 4 else 'hit') for k in range(2, 12)},
7 : {k : 'hit' for k in range(2, 12)},
6 : {k : 'hit' for k in range(2, 12)},
5 : {k : 'hit' for k in range(2, 12)},
}
first_card = input("What is your first card?\n> ")
first_value = card_values.get(first_card.lower(), None)
if first_value is None:
print("that's not a card, nice try. Try: %s" % sorted(card_values.keys()))
exit()
second_card = input("What is your second card?\n> ")
second_value = card_values.get(second_card.lower(), None)
if second_card is None:
print("that's not a card, nice try. Try: %s" % sorted(card_values.keys()))
exit()
dealer_card = input("What is the dealer's card?\n> ")
dealer_value = card_values.get(dealer_card.lower(), None)
if second_card is None:
print("that's not a card, nice try. Try: %s" % sorted(card_values.keys()))
exit()
print("You should... %s" % strategy_chart[first_value + second_value][dealer_value])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment