I am in writing code for blackjack for python and I was hoping someone could tell me how to do this:
- Recognize that someone typed, that is, “Hit” or “Stand,” and react accordingly.
- Calculate that the player has scored, and whether he is an ace and a nest together, and automatically wins.
Ok, this is what I got so far.
"This imports the random object into Python, it allows it to generate random numbers."
import random
print("Hello and welcome to Sam Black Jack!")
input("Press <ENTER> to begin.")
card1name = 1
card2name = 1
card3name = 1
card4name = 1
card5name = 1
"This defines the values of the character cards."
Ace = 1
Jack = 10
Queen = 10
King = 10
decision = 0
"This generates the cards that are in your hand and the dealer hand to begin with.
card1 = int(random.randrange(12) + 1)
card2 = int(random.randrange(12) + 1)
card3 = int(random.randrange(12) + 1)
card4 = int(random.randrange(12) + 1)
card5 = int(random.randrange(12) + 1)
total1 = card1 + card2
"This makes the value of the Ace equal 11 if the total of your cards is under 21"
if total1 <= 21:
Ace = 11
"This defines what the cards are"
if card1 == 11:
card1 = 10
card1name = "Jack"
if card1 == 12:
card1 = 10
card1name = "Queen"
if card1 == 13:
card1 = 10
card1name = "King"
if card1 == 1:
card1 = Ace
card1name = "Ace"
elif card1:
card1name = card1
if card2 == 11:
card2 = 10
card2name = "Jack"
if card2 == 12:
card2 = 10
card2name = "Queen"
if card2 == 13:
card2 = 10
card2name = "King"
if card2 == 1:
card2 = Ace
card2name = "Ace"
elif card2:
card2name = card2
if card3 == 11:
card3 = 10
card3name = "Jack"
if card3 == 12:
card3 = 10
card3name = "Queen"
if card3 == 13:
card3 = 10
card3name= "King"
if card3 == 1:
card3 = Ace
card3name = "Ace"
elif card3:
card3name = card3
if card4 == 11:
card4 = 10
card4name = "Jack"
if card4 == 12:
card4 = 10
card4name = "Queen"
if card4 == 13:
card4 = 10
card4name = "King"
if card4 == 1:
card4 = Ace
card4name = "Ace"
elif card4:
card4name = card4
if card5 == 11:
card5 = 10
card5name = "Jack"
if card5 == 12:
card5 = 10
card5name = "Queen"
if card5 == 13:
card5 = 10
card5name = "King"
if card5 == 1:
card5 = Ace
card5name = "Ace"
elif card5:
card5name = card5
"This creates the totals of your hand"
total2 = card1 + card2
total3 = card1 + card2 + card3
print("You hand is ", card1name," and", card2name)
print("The total of your hand is", total2)
decision = input("Do you want to HIT or STAND?").lower()
"This is the decision for Hit or Stand"
if 'hit' or 'HIT' or 'Hit' in decision:
decision = 1
print("You have selected HIT")
print("Your hand is ", card1name,",",card2name," and", card3name)
print("The total of your hand is", total3)
if 'STAND' or 'stand' or 'Stand' in decision:
print("You have selected STAND")
"Dealer Hand"
dealer = card4 + card5
print()
print("The dealer hand is", card4name," and", card5name)
if decision == 1 and dealer < total3:
print("Congratulations, you beat the dealer!")
if decision == 1 and dealer > total3:
print("Too bad, the dealer beat you!")
Ok, never mind, I fixed it: D
I just changed “Hit” and “Stand” to “Yes” or “No”
if total2 < 21:
decision = input("Do you want to hit? (Yes or No)")
"This is the decision for Hit or Stand"
if decision == 'Yes':
print("You have selected HIT")
print("Your hand is ", card1name,",",card2name," and", card3name)
print("The total of your hand is", total3)
if decision == 'No':
print("You have selected STAND")
user66751
source
share