所以我在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不止一次,我怎么能这样做呢?它会出现错误?
答案 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"