所以我在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"