Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 程序如何以及何时达到“返回真值”?_Python_Python 3.x - Fatal编程技术网

Python 程序如何以及何时达到“返回真值”?

Python 程序如何以及何时达到“返回真值”?,python,python-3.x,Python,Python 3.x,这是一个作业的代码,这段代码是正确的,但是我在第二次尝试时使用了它,但我不知道我的理解是否正确: def isWordGuessed(secretWord, lettersGuessed): ''' secretWord: string, the word the user is guessing lettersGuessed: list, what letters have been guessed so far returns: boolean, True i

这是一个作业的代码,这段代码是正确的,但是我在第二次尝试时使用了它,但我不知道我的理解是否正确:

def isWordGuessed(secretWord, lettersGuessed):
    '''
    secretWord: string, the word the user is guessing
    lettersGuessed: list, what letters have been guessed so far
    returns: boolean, True if all the letters of secretWord are in lettersGuessed;
      False otherwise
    '''
    # FILL IN YOUR CODE HERE...
    for i in secretWord:
        if i not in lettersGuessed:
            return False
    return True
因此,如果返回True在循环之外,则只有secretWord中的每个字母都在循环中时才会返回True,但如果缺少一个字母,则会立即返回False。这是正确的吗


谢谢

右侧-这相当于:

all(lett in lettersguessed for lett in secretword)
请注意,由于列表或字符串的成员资格测试处于启用状态,因此如果您有一个相对较大的secretword,则其速度可能会更快:

这是因为测试集合中的成员身份是在固定时间O1中完成的,因此构建集合的成本超过了对成员身份检查的许多调用


像往常一样,在这些边缘优化中,强烈建议在进行任何更改之前进行分析。

是的,没错。您可以说,如果缺少一个单词,它会立即返回False。但如果有一个字母丢失,它会立即返回False。如果我写的是一封信,不让任何人在读这个函数时绊倒,那会好得多。。。我读了好几遍才明白。是的,你是对的,这应该行得通。
def is_word_guessed(secretword, lettersguessed):
    guessed_set = set(lettersguessed)
    return all(lett in guessed_set for lett in secretword)