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

时间:2013-11-20 18:24:32

标签: python

所以我在python上做刽子手,我想知道如果字母已被使用,我将如何标记字母不正确。

      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"

如果这个词是“足球”,那么如果我输入字母f,o,t,b,a或l不止一次,我怎么能这样做呢?它会出现错误?

2 个答案:

答案 0 :(得分:1)

跟踪用户已提交的字母

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

然后在支票信函中检查信件是否已经在信件清单中

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

答案 1 :(得分:0)

您可以保存一个变量字,而另一个变量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"