簡體   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