python-程序忽略if​​语句,并在False时输出True

我正在编写一个用于解决家庭作业问题的简单程序,它似乎正在跳过我的if语句.我看了提出的其他问题,那里的问题似乎不是我的问题,因此希望您能提供帮助.

def isWordGuessed(secretWord, lettersGuessed):
if lettersGuessed == []:
    return False
else:
    for i in lettersGuessed:
        if i in secretWord == False:
            return False

        else:
            if i == lettersGuessed[-1]:
                return True

当我放置一些打印功能以查看其功能时,它会完全跳过

if i in secretWord == False:

我已经放在这条线的正上方

print i in secretWord

并且它将打印出正确的布尔值,但是即使它输出False,它仍然会跳过if语句.我觉得我必须忽略一些非常基本的内容,但是我似乎无法弄清楚它的含义,因此,我们将不胜感激.谢谢

编辑:

这是一个使用输入调用此函数的示例

isWordGuessed('apple',['a','e','i','k','p','r','s'])
最佳答案
        if i in secretWord == False:

这并没有按照您的想法做.如果您希望在我不在secretWord中时采用此路径,则需要

        if i not in secretWord:

您所拥有的是chained comparison.首先,它检查

i in secretWord

如果是这样,那么它将检查

secretWord == False

如果这是真的(不是),则采用if路径.

转载注明原文:python-程序忽略if​​语句,并在False时输出True - 代码日志