Guess Counting Control

问题描述 投票:-2回答:1

我正在用Python开始学习,我被分配了Task来为猜谜游戏编写代码,但我必须控制玩家拥有的操作系​​统总数。我已经描述了这些功能,它们正在起作用(我相信...哈哈),但是当输入错误的猜测时,我无法“重置”游戏...我写的是:

guess_count = []
count_control = 1
def check_guess(letter,guess):
    if guess.isalpha() == False:
        print("Invalid!")
        return False
    elif guess.lower() < letter:
        print("Low")
        return False
    elif guess.lower() > letter:
        print("High")
        return False
    elif guess.lower() == letter:
        print("Correct!")
        return True
    else:
        print("anything")

def letter_guess(guess):
    check_guess ('a',guess)
    while len(guess_count) <= 3:
        if check_guess == True:
            return True
        elif check_guess == False:
            guess_count.append(count_control)
            guess = input("Try again \n")

letter_guess(input("test: "))
python python-3.x function
1个回答
0
投票

麻烦在于,您要跟踪的游戏状态为全局变量guess_countcount_control

这是为什么python和其他语言提供类和对象的示例:

class Game:

    def __init__(self):
        self.guess_count = []
        self.count_control = 1

    @staticmethod
    def check_guess(letter, guess):
        if guess.isalpha() == False:
            print("Invalid!")
            return False
        elif guess.lower() < letter:
            print("Low")
            return False
        elif guess.lower() > letter:
            print("High")
            return False
        elif guess.lower() == letter:
            print("Correct!")
            return True
        else:
            print("anything")

    def letter_guess(self, guess):
        self.check_guess('a', guess)
        while len(self.guess_count) <= 3:
            if self.check_guess('a', guess) == True:
                return True
            elif self.check_guess('a', guess) == False:
                self.guess_count.append(self.count_control)
                guess = input("Try again \n")

game = Game()
game.letter_guess(input("test: "))

game = Game()
game.letter_guess(input("test: "))
© www.soinside.com 2019 - 2024. All rights reserved.