程序忽略if​​语句,并在False时打印True

El *_*gio 1 python if-statement statements

我正在为一个家庭作业问题编写一个简单的程序,它似乎正在跳过我的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
Run Code Online (Sandbox Code Playgroud)

当我在一些打印功能中查看它正在做什么时,它会完全跳过

if i in secretWord == False:
Run Code Online (Sandbox Code Playgroud)

我已放在这条线的正上方

print i in secretWord
Run Code Online (Sandbox Code Playgroud)

它会打印出正确的布尔值,但即使打印出False,它仍然会跳过if语句.我觉得我必须忽略一些非常基本的东西,但是我似乎无法弄清楚它是什么,所以任何帮助都会受到赞赏.谢谢

编辑:

以下是使用输入调用此函数的示例

isWordGuessed('apple',['a','e','i','k','p','r','s'])
Run Code Online (Sandbox Code Playgroud)

use*_*ica 5

        if i in secretWord == False:
Run Code Online (Sandbox Code Playgroud)

这不符合你的想法.如果您希望在i不存在时使用此路径,则secretWord需要

        if i not in secretWord:
Run Code Online (Sandbox Code Playgroud)

你所拥有的是一个链式比较.首先,它检查

i in secretWord
Run Code Online (Sandbox Code Playgroud)

如果这是真的,那么它会检查

secretWord == False
Run Code Online (Sandbox Code Playgroud)

如果那是真的(它不会是),那么它就是if路径.