Name error fix pls

Processing: Blackjack.ipynb…
can somebody fix this code line 40 pls

import random
playerIn = True
dealerIn = True

deck of cards / player dealer hand

deck = [2, 3, 4, 5, 6, 7, 8, 9, 10, 2, 3, 4, 5, 6, 7, 8, 9, 10, 2, 3, 4, 5, 6, 7, 8, 9, 10, 2, 3, 4, 5, 6, 7, 8, 9, 10,
‘J’, ‘Q’, ‘K’, ‘A’ ‘J’, ‘Q’, ‘K’, ‘A’ ‘J’, ‘Q’, ‘K’, ‘A’ ‘J’, ‘Q’, ‘K’, ‘A’]

deal the cards

def dealCard(turn):
card = random.choice(deck)
turn.append(card)
deck.remove(card)

calculate the total of each hand

def total(turn):
total = 0
face = [‘J’, ‘K’, ‘Q’]
for card in turn:
if card in range(1, 11):
total += card
elif card in face:
total +=10
else:
if total > 11:
total += 1
else:
total += 11
return total

check for winner

def revealDealerHand():
if len(dealerHand) == 2:
return dealerHand[0]
elif len(dealerHand) > 2:
return dealerHand[0], dealerHand[1]

game loop

for _ in range(2):
dealCard(dealerHand)
dealCard(playerHand)

while playerIn or dealerIn:
print(f"Dealer had {revealDealerHand()} and X")
print(f"You Have {playerHand} for a total of {total(playerHand)}")
if playerIn:
stayOrHit = input(“1: Stay\n2: Hit\n”)
if total(dealerHand) > 16:
dealerIn = False
else:
dealCard(dealerHand)
if stayOrHit == ‘1’:
playerIn = False
else:
dealCard(dealerHand)
if total(playerHand) >= 21:
break
elif total(dealerHand) >=21:
break

if total(playerHand) == 21:
print(f"\nYou have {playerHand} for a total of {total(playerHand)} and the dealer has {dealerHand} for a total of {total(dealerHand)}")
print(“Blackjack! You Win!”)
elif total(dealerHand) == 21:
print(f"\nYou have {playerHand} for a total of {total(playerHand)} and the dealer has {dealerHand} for a total of {total(dealerHand)}")
print(“Blackjack! Dealer Wins!”)
elif total(playerHand) > 21:
print(f"\nYou have {playerHand} for a total of {total(playerHand)} and the dealer has {dealerHand} for a total of {total(dealerHand)}")
print(“You Bust! Dealer Wins”)
elif total(dealerHand) > 21:
print(f"\nYou have {playerHand} for a total of {total(playerHand)} and the dealer has {dealerHand} for a total of {total(dealerHand)}")
print(“Dealer Busts! You Win”)
elif 21 - total(dealerHand) > 21 - total(playerHand):
print(f"\nYou have {playerHand} for a total of {total(playerHand)} and the dealer has {dealerHand} for a total of {total(dealerHand)}")
print(“Dealer WIns!”)
elif 21 - total(dealerHand) < 21 - total(playerHand):
print(f"\nYou have {playerHand} for a total of {total(playerHand)} and the dealer has {dealerHand} for a total of {total(dealerHand)}")
print(“You Win!”)

By my count, line 40 is a blank line. Maybe I miscounted.

Do you think it is fair on us for you to ask us to count the lines by
hand to work out what the error is? You have the full error message
shown to you. Please copy and paste the error message, starting with the
line “Traceback…” and going to the end.

But my guess is that the error comes from this line:

dealCard(dealerHand)

just inside the game loop:

for _ in range(2):
    dealCard(dealerHand)
    dealCard(playerHand)

I don’t think you have defined dealerHand or playerHand yet. I think you
need these two lines just before the game loop:

dealerHand = []  # initialise with an empty list
playerHand = []