Skip to content

Instantly share code, notes, and snippets.

@bowbahdoe
Created May 29, 2015 01:09
Show Gist options
  • Select an option

  • Save bowbahdoe/8be918e34c34b51b3c07 to your computer and use it in GitHub Desktop.

Select an option

Save bowbahdoe/8be918e34c34b51b3c07 to your computer and use it in GitHub Desktop.
from random import choice, sample,shuffle
class Deck:
def __init__(self):
self.cards = []
self.populate()
def populate(self):
for suit in range(4):
for value in range(1,14):
self.cards.append(Card(suit,value))
# print len(self.cards)
def draw(self):
shuffle(self.cards)
self.cards = self.cards[1:]
return self.cards[0]
class Card:
"""suit = 0,1,2,3"""
def __init__(self,suit,value):
self.suit = suit
self.value = value
def getSuit(self):
return self.suit
def getValue(self):
return self.value
def areSameSuit(card1,card2):
if(card1.getSuit() == card2.getSuit()):
return True
else:
return False
def getValueOfHand(cards):
value = 0
for card in cards:
value+= card.getValue()
return value
def playGame():
dec = Deck()
playerHand = []
dealerHand = []
playerHand.append(dec.draw())
playerHand.append(dec.draw())
playerHand.append(dec.draw())
dealerHand.append(dec.draw())
dealerHand.append(dec.draw())
dealerHand.append(dec.draw())
dealerHand.append(dec.draw())
if(getValueOfHand(dealerHand)<getValueOfHand(playerHand)):
return True
else:
return False
print playGame()
wins = 0
losses = 0
for i in range(100000):
if(playGame()):
# print "won"
wins+=1
else:
losses +=1
print wins
print losses
print float(wins)/(wins+losses)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment