为什么 python 不接受我的输入并使用它?
Why is python not taking my input and using it?
当它问我放不的时候,它只是跳过了我放不的事实,当我放不的时候,它只是重新问我是否要打。
我试过在你不想打的时候做一个新的 while 语句,但它仍然没有用。
import time
from random import randint
cardg = 0
cardg1 = 0
yeet = 1
while cardg < 21:
hit = input("Do you want to hit? (Yes or No): ")
if hit == "yes" or hit == "Yes":
num = randint(1, 10)
num2 = randint(1, 4)
card = num
card2 = num2
if num == 1:
card1 = "Ace"
elif num == 11:
card1 = "Jack"
elif num == 12:
card1 = "Queen"
elif num == 13:
card1 = "King"
if num2 == 1:
card2 = "Hearts"
if num2 == 2:
card2 = "Diamonds"
if num2 == 3:
card2 = "Spades"
if num2 == 4:
card2 = "Clubs"
if num == 1:
card = input("Would you like your ace to be a 1 or 11?\nAnswer: ")
print("Ace of " + str(card2))
cardg += int(card)
time.sleep(1)
if cardg < 21:
print(str(card) + " of " + str(card2))
elif cardg == 21:
time.sleep(1)
print(str(card) + " of " + str(card2))
print("Blackjack, you win!")
yeet = 0
elif cardg > 21:
print(str(card) + " of " + str(card2))
print("Busted, you lose.")
yeet = 0
else:
while cardg1 < 21 and cardg1 > 18:
num = randint(1, 11)
cardg1 += int(num)
num2 = randint(1, 4)
card = num
card2 = num2
if num == 1:
card1 = "Ace"
elif num == 11:
card1 = "Jack"
elif num == 12:
card1 = "Queen"
elif num == 13:
card1 = "King"
if num2 == 1:
card2 = "Hearts"
if num2 == 2:
card2 = "Diamonds"
if num2 == 3:
card2 = "Spades"
if num2 == 4:
card2 = "Clubs"
cardg1 += int(card)
time.sleep(1)
if cardg1 < 21 and cardg1 > 18:
print(str(card) + " of " + str(card2))
print("You have " + str(cardg) + " points, dealer has " + str(cardg1) + " points.")
if cardg > cardg1:
print("Dealer has won!")
yeet = 0
else:
print("You have won!")
yeet = 0
elif cardg1 == 21:
time.sleep(1)
print(str(card) + " of " + str(card2))
print("Dealer has blackjack, you lose!")
yeet = 0
elif cardg1 > 21:
print(str(card) + " of " + str(card2))
print("Dealer busted, you win!")
yeet = 0
当运行时,就是这个输出。获取 21 和破坏代码有效。
Do you want to hit? (Yes or No): yes
3 of Clubs
Do you want to hit? (Yes or No): yes
9 of Hearts
Do you want to hit? (Yes or No): no
Do you want to hit? (Yes or No): n
Do you want to hit? (Yes or No): no
Do you want to hit? (Yes or No):
cardg1
初始化为0
。因此,while
条件 cardg1 < 21 and cardg1 > 18
失败,因为 0
不在 18
和 21
之间,因此 else
块什么都不做。
当它问我放不的时候,它只是跳过了我放不的事实,当我放不的时候,它只是重新问我是否要打。
我试过在你不想打的时候做一个新的 while 语句,但它仍然没有用。
import time
from random import randint
cardg = 0
cardg1 = 0
yeet = 1
while cardg < 21:
hit = input("Do you want to hit? (Yes or No): ")
if hit == "yes" or hit == "Yes":
num = randint(1, 10)
num2 = randint(1, 4)
card = num
card2 = num2
if num == 1:
card1 = "Ace"
elif num == 11:
card1 = "Jack"
elif num == 12:
card1 = "Queen"
elif num == 13:
card1 = "King"
if num2 == 1:
card2 = "Hearts"
if num2 == 2:
card2 = "Diamonds"
if num2 == 3:
card2 = "Spades"
if num2 == 4:
card2 = "Clubs"
if num == 1:
card = input("Would you like your ace to be a 1 or 11?\nAnswer: ")
print("Ace of " + str(card2))
cardg += int(card)
time.sleep(1)
if cardg < 21:
print(str(card) + " of " + str(card2))
elif cardg == 21:
time.sleep(1)
print(str(card) + " of " + str(card2))
print("Blackjack, you win!")
yeet = 0
elif cardg > 21:
print(str(card) + " of " + str(card2))
print("Busted, you lose.")
yeet = 0
else:
while cardg1 < 21 and cardg1 > 18:
num = randint(1, 11)
cardg1 += int(num)
num2 = randint(1, 4)
card = num
card2 = num2
if num == 1:
card1 = "Ace"
elif num == 11:
card1 = "Jack"
elif num == 12:
card1 = "Queen"
elif num == 13:
card1 = "King"
if num2 == 1:
card2 = "Hearts"
if num2 == 2:
card2 = "Diamonds"
if num2 == 3:
card2 = "Spades"
if num2 == 4:
card2 = "Clubs"
cardg1 += int(card)
time.sleep(1)
if cardg1 < 21 and cardg1 > 18:
print(str(card) + " of " + str(card2))
print("You have " + str(cardg) + " points, dealer has " + str(cardg1) + " points.")
if cardg > cardg1:
print("Dealer has won!")
yeet = 0
else:
print("You have won!")
yeet = 0
elif cardg1 == 21:
time.sleep(1)
print(str(card) + " of " + str(card2))
print("Dealer has blackjack, you lose!")
yeet = 0
elif cardg1 > 21:
print(str(card) + " of " + str(card2))
print("Dealer busted, you win!")
yeet = 0
当运行时,就是这个输出。获取 21 和破坏代码有效。
Do you want to hit? (Yes or No): yes
3 of Clubs
Do you want to hit? (Yes or No): yes
9 of Hearts
Do you want to hit? (Yes or No): no
Do you want to hit? (Yes or No): n
Do you want to hit? (Yes or No): no
Do you want to hit? (Yes or No):
cardg1
初始化为0
。因此,while
条件 cardg1 < 21 and cardg1 > 18
失败,因为 0
不在 18
和 21
之间,因此 else
块什么都不做。