蟒蛇上的刽子手:如果我输入一个字母不止一次,它将被认为是正确的



所以我在python上执行hangman,我想知道如果已经使用了一个字母,我该如何标记它的错误。

      def __init__(self):
            self.wordLetter = []    
            self.binaryWord = []  
            self.wordLength = 0
            self.numberCorrect = 0
            self.numberIncorrect = 0
      def secretWord(self):
            self.numberCorrect = 0
            self.numberIncorrect = 0
            self.wordLetters = ['f','o','o','t','b','a','l','l']
            self.wordLength = len(self.letterWord) 
            for val in range(0,self.wordLength):
                    self.binaryWord.append(0)
    def checkLetter(self, letter):
            for val in range(len(self.wordLetter)): #checks if letter is correct and takes appropriate action
                    if self.wordLetter[val] == letter:
                            self.binaryWord[val] = 1
                            self.numberCorrect += 1
                            print "CORRECT!!"
            if letter not in self.wordLetters:
                    self.numberIncorrect += 1
                    print "Incorrect letter. Try again"

如果这个词是"football",如果我多次输入字母f、o、t、b、a或l,我该怎么做?

跟踪用户已经提交的信件

def __init__(self):
    ...
    ...
    self.submittedLetters[]
    ...
    ...

然后在你的支票中检查信件,看看信件是否已经在信件列表中

if letter in self.submittedLetters:
    #already entered
else:
    #add letter to self.submittedLetters
    ...
    #the rest of your method

您可以在一个变量单词中保存该单词的set

self.word = 'football'
self.wordLatters = set(self.word)

并检查像这样的信件

def checkLetter(self, letter):
    if letter in self.wordLatters:
        self.binaryWord[val] = 1
        self.numberCorrect += 1
        self.wordLatters.remove(letter)
        print "CORRECT!!"
    else:
        self.numberIncorrect += 1
        print "Incorrect letter. Try again"

相关内容

最新更新