如何为 Python 中的变量设置限制?
How do I set a limit for a variable in Python?
import random
dealer = random.randint(10, 21)
begin = random.randint(1, 14)
card = random.randint(1, 14)
limit = int(21)
print(begin)
i = input('Hit or Stay?').lower()
while i == "hit":
begin += random.randint(1, 14)
print(begin)
i = input('Hit or Stay?').lower()
if begin == 21:
print('Wow, you win!')
elif i == "stay":
if dealer >= begin:
print('You lose')
print(dealer)
else:
print('You win')
print(dealer)
elif begin >= limit:
print('You lose')
我目前正在尝试制作一个 21 点游戏(我自己的想法)。
但是,我遇到了一个问题。二十一点的规则是,如果你的手超过了数字 21,你就输了。我很难做到这一点。目前,python 只打印“你输了!”当玩家越过数字 21 然后停住他的手时。
达到21/获胜时的当前输出:
Starting Hand: 13
Hit or Stay?hit
Current Hand: 15
Hit or Stay?hit
Current Hand: 21
Hit or Stay?stay
Wow, you win!
预期输出:
Starting Hand: 13
Hit or Stay?hit
Current Hand: 21
You Win!!!
过去 21 的当前输出:
Starting Hand: 4
Hit or Stay?hit
Current Hand: 13
Hit or Stay?hit
Current Hand: 24
Hit or Stay?stay
You lose because you went over 21 haha
预期输出:
Starting Hand: 20
Hit or Stay?hit
Current Hand: 25
You lose because you went over 21 hahaha
我希望有人能够修复我的代码:<
import random
def check(begin):
is_end = True
if begin == 21:
print('Wow, you win!')
elif i == "stay":
if dealer >= begin:
print('You lose')
print(dealer)
else:
print('You win')
print(dealer)
elif begin >= limit:
print('You lose')
else:
is_end=False
return is_end
dealer = random.randint(10, 21)
begin = random.randint(1, 14)
card = random.randint(1, 14)
limit = int(21)
print(begin)
i = input('Hit or Stay?').lower()
while i == "hit":
begin += random.randint(1, 14)
print(begin)
if check(begin):
break
i = input('Hit or Stay?').lower()
import random
dealer = random.randint(10, 21)
begin = random.randint(1, 14)
card = random.randint(1, 14)
limit = int(21)
print(begin)
i = input('Hit or Stay?').lower()
while begin < limit:
begin += random.randint(1, 14)
print(begin)
i = input('Hit or Stay?').lower()
if begin == limit:
print('You win')
else:
print('You lose')
break
import random
dealer = random.randint(10, 21)
begin = random.randint(1, 14)
card = random.randint(1, 14)
limit = int(21)
print(begin)
i = input('Hit or Stay?').lower()
while i == "hit":
begin += random.randint(1, 14)
print(begin)
i = input('Hit or Stay?').lower()
if begin == 21:
print('Wow, you win!')
elif i == "stay":
if dealer >= begin:
print('You lose')
print(dealer)
else:
print('You win')
print(dealer)
elif begin >= limit:
print('You lose')
我目前正在尝试制作一个 21 点游戏(我自己的想法)。 但是,我遇到了一个问题。二十一点的规则是,如果你的手超过了数字 21,你就输了。我很难做到这一点。目前,python 只打印“你输了!”当玩家越过数字 21 然后停住他的手时。 达到21/获胜时的当前输出:
Starting Hand: 13
Hit or Stay?hit
Current Hand: 15
Hit or Stay?hit
Current Hand: 21
Hit or Stay?stay
Wow, you win!
预期输出:
Starting Hand: 13
Hit or Stay?hit
Current Hand: 21
You Win!!!
过去 21 的当前输出:
Starting Hand: 4
Hit or Stay?hit
Current Hand: 13
Hit or Stay?hit
Current Hand: 24
Hit or Stay?stay
You lose because you went over 21 haha
预期输出:
Starting Hand: 20
Hit or Stay?hit
Current Hand: 25
You lose because you went over 21 hahaha
我希望有人能够修复我的代码:<
import random
def check(begin):
is_end = True
if begin == 21:
print('Wow, you win!')
elif i == "stay":
if dealer >= begin:
print('You lose')
print(dealer)
else:
print('You win')
print(dealer)
elif begin >= limit:
print('You lose')
else:
is_end=False
return is_end
dealer = random.randint(10, 21)
begin = random.randint(1, 14)
card = random.randint(1, 14)
limit = int(21)
print(begin)
i = input('Hit or Stay?').lower()
while i == "hit":
begin += random.randint(1, 14)
print(begin)
if check(begin):
break
i = input('Hit or Stay?').lower()
import random
dealer = random.randint(10, 21)
begin = random.randint(1, 14)
card = random.randint(1, 14)
limit = int(21)
print(begin)
i = input('Hit or Stay?').lower()
while begin < limit:
begin += random.randint(1, 14)
print(begin)
i = input('Hit or Stay?').lower()
if begin == limit:
print('You win')
else:
print('You lose')
break