Created
May 29, 2015 01:09
-
-
Save bowbahdoe/8be918e34c34b51b3c07 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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