繁体   English   中英

如何为 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 然后保持手牌时: 当前 Output 当达到 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!

预期 Output:

Starting Hand: 13
Hit or Stay?hit
Current Hand: 21 
You Win!!!

当前 Output 用于过去 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

预期 Output:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM