我是非常新的编程和正在创建一个函数,它接受一个或多个字母,并检查它是否在一个单词内。我需要控制猜测的数量,所以我想设置一个布尔值来测试它是否正确。为了清楚起见,我已经看过很多其他关于这类问题的答案,但不知道在这个案例中发生了什么。在
即使if语句为True,我似乎也不能使bool'correct'返回为真。在查了这个之后,似乎把它作为一个全局变量应该可以解决这个问题,但它对我不起作用。它仍然返回False。 我怎么解决这个问题?我使用的是python2.5。在
任何帮助将不胜感激! 谢谢!在
randomWord = choose_word(wordlist)
guessedLetters = []
correct = False
def userGuesses(letters):
newLetters = list(letters)
global correct #change correct to global
for i in range(len(letters)):
curLetter = letters[i]
for j in range(len(randomWord)):
if curLetter == randomWord[j]:
guessedLetters[j] = randomWord[j]
correct = True
else:
correct = False
return guessedLetters
准则中的一些问题:
randomWord
似乎未定义。在guessedLetters
似乎也未定义。在如果你的代码真的运行了,那么它可能永远不会进入内部循环。在不同的位置添加一些
print
语句,以查看此时的代码是否运行。在还请注意,您不需要做
for j in range(len(letters))
只是为了以后访问letters[i]
。就这么做吧:它比较短,效果也一样。内环也一样。在
祝你好运!在
Editted:在输入函数之前,尝试打印出
randomWord
,以查看该变量的值。在相关问题 更多 >
编程相关推荐