Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

can you please correct my python code and show me how it looks like in python. I keep getting errors and i'm not sure how

can you please correct my python code and show me how it looks like in python. I keep getting errors and i'm not sure how to correct all of them.
I have attached pictures of the code and I also copied and pasted it here:

import random

suits = ('Hearts', 'Diamonds', 'Spades', 'Clubs')

ranks = ('Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight, "Nine', 'Ten', 'Jack', 'Queen', 'King', 'Ace')

values = {"""'Two':2, 'Three':3, 'Four':4, 'Five':5, 'Six':6, "Seven':7, 'Eight':8, 'Nine':9, 'Ten':10, 'Jack':10, 'Queen':10, 'King':10, 'Ace':11"""}

playing = True

class Card:

def __init__(self, suit, rank):

self.suit = suit

self.rank = rank

def _str_(self):

return self.rank + 'of' + self.suit

class Deck:

def __init__(self):

self.deck = []

for suit in suits:

for rank in ranks:

self.deck.append (Card(suit, rank))

def _str_(self):

deck_comp = ''

for card in self.deck:

deck_comp += '' + card._str_()

return 'The deck has:'+ deck_comp

def shuffle(self):

random.shuffle(self.deck)

def deal(self):

single_card = self.deck.pop()

return single_card

class Hand:

def __init__(self):

self.cards = []

self.value = 0

self.aces = 0

def add_card(self,card):

self.cards.append(card)

self.value += values[card.rank]

if card.rank == 'Ace':

self.aces += 1

def adjust_for_ace (self):

while self.value > 21 and self.aces:

self.value -= 10

self.aces -= 1

class Chips:

def __init__(self):

self.total = 100

self.bet = 0

def win_bet(self):

self.total += self.bet

def lose_bet(self):

self.total -= self.bet

def take_bet(chips):

while True:

try:

chips.bet = int(input('How many chips would you like to bet? '))

except ValueError:

print('Sorry, the bet must be an integer!')

else:

if chips.bet > chips.total:

print("Sorry, your bet can't exceed", chips.total)

else:

break

def hit(deck, hand):

hand.add_card(deck.deal())

hand.adjust_for_ace()

def hit_or_stand (deck, hand):

global playing

while True:

x = input ("Would you like to Hit or Stand? Enter 'h' or 's'")

if x[0].lower() == 'h':

hit(deck, hand)

break

elif x[0].lower() == 's':

print("Player stands. Dealer is playing.")

playing = False

else:

print("Sorry, please try again.")

continue

def show_some(player, dealer):

print("Dealer's Hand:")

print("

print('', dealer.cards[1])

print("Player's Hand:" *player.cards, sep = "")

def show_all (player, dealer):

print("Dealer's Hand:", *dealer.cards, sep = "")

print("Dealer's Hand = ", dealer.value)

print("Player's Hand: ", *player.cards, sep = "")

print("Player's Hand = ", player.value)

def player_busts(player, dealer, chips):

print("Player busts!")

chips.lose_bet()

def player_wins(player, dealer, chips):

print("Player wins!")

chips.win_bet()

def dealer_busts(player, dealer, chips):

print("Dealer busts!")

chips.win_bet()

def dealer_wins (player, dealer, chips):

print("Dealer wins!")

chips.lose_bet()

def push(player, dealer):

print("Dealer and Player tie! It's a push.")

while True:

print('Welcome to BlackJack! Get as close to 21 as you can without going over!n\Dealer hits until he reaches 17. Aces count as 1 or 11.')

deck = Deck()

deck.shuffle()

player_hand = Hand()

player_hand.add_card(deck.deal())

player_hand.add_card (deck.deal())

dealer_hand = Hand()

dealer_hand.add_card (deck.deal())

dealer_hand.add_card (deck.deal())

player_chips = Chips() # the default value is 100

take_bet(player_chips)

show_some(player_hand, dealer_hand)

while playing:

hit_or_stand (deck, player_hand)

show_some(playerhand, dealer_hand)

if player_hand.value > 21:

player_busts(player_hand, dealer_hand, player_chips)

break

if player_hand.value

while dealer_hand.value

hit(deck, dealer_hand)

show_all(player_hand, dealer_hand)

if dealer_hand.value > 21:

dealer_busts(player_hand, dealer_hand, player_chips)

elif dealer_hand.value > player_hand.value:

dealer_wins(player_hand, dealer_hand, player_chips)

elif dealer_hand.value

player_wins(player_hand, dealer_hand, player_chips)

else:

push(player_hand, dealer_hand)

print (" Player's winnings stand at", player_chips.total)

new_game = input("Would you like to play another hand? Enter 'yes' or 'no' ")

if new_game[0].lower() =='yes':

playing = True

continue

else:

print("Thanks for playing!")

break

image text in transcribed
image text in transcribed
image text in transcribed
image text in transcribed
image text in transcribed
5 7 1 Import random 2 3 suits ('Hearts', 'Diamonds', 'Spades', 'Clubs) 4 ranks = ('Two', 'Three', 'Four', 'Five Six', 'Seven', 'Eight; "Nine', 'Ten', 'Jack', 'Queen', 'King', 'Ace') 5 values = {"***TWO: 2, "Three :3, 'Foun:4, Five":5, 'Six':6, "Seven':7, 'Eight":8, 'Nine':9, 'Ten':10, Jack':10, "Queen': 1, King:10, Ace : 11") 8 playing - True 9 10 class Card: 11 12 def __init_(self, suit, rank): 12 self.suit suit self.rank - rank 15 16 def _str_(self): 17 return self.rank 'of'. self.suit 19 Class Deck: 21 def init__(self): self.deck - for suit in suits: for rank in ranks: self.deck.append (Card(suit, rank)) 24 26 29 28 29 def str_(self): deck comp- for card in self.deck: deck_comp / card. str.) return "The deck hast' deck_comp 31 32 33 def shuffle(self): random shuffle(self.deck) def deal(self): single_card - self.deck.pop() return single_card 38 55 39 40 class Hand: 41 42 def __init__(self): 43 self.cards = [] 44 self.value = 0 45 self.aces = 0 46 47 def add_card(self, card): 48 self.cards.append(card) 49 self.value ++ values[card.rank) 50 if card.rank == 'Ace': 51 self.aces += 1 52 53 def adjust_for_ace (self): 54 while self.value > 21 and self.aces: self.value -- 10 56 self.aces - 1 57 58 class Chips: 59 def __init_(self): self.total - 100 61 self.bet = 0 62 63 def win_bet(self): 64 self. total += self.bet 65 66 def lose_bet(self): 67 self. total self.bet 68 69 def take_bet (chips): 78 while True : 71 try: 72 chips,bet - int(input('How many chips would you like to bet? ')) 73 except ValueError: print('Sorry, the bet must be an integer!') 75 else: 76 if chips. bet > chips total: 77 print("Sorry, yotr bot can't exceed", chips.total) else: 60 74 78 91 ; Chips.total) 78 else: 79 break 80 81 def hit(deck, hand): 82 hand.add_card(deck.deal() 83 hand adjust_for_ace() 84 85 def hit_or_stand (deck, hand): 86 global playing 87 while True: 88 x = input ("Would you like to Hit or Stand? Enter 'h' or 's") 89 if x[@]. lower() Th': 90 hit(deck, hand) break 92 elif x[0]. lower() == 's': 93 print("Player stands. Dealer is playing.") 94 playing = False 95 else: 96 print("Sorry, please try again.") 97 continue 98 99 def show_some(player, dealer): 100 print("Dealer's Hand:") 101 print("

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions