2

この問題は Hangman ゲームの構築の一部であるため、解決しようとしています。

私の問題は、すべてのリスト項目が秘密の単語に含まれているかどうかを確認するコードを作成する必要があることです。すべてがリストにある場合は True を返し、そうでない場合は False を返します。

これは私が行った私の仕事です:

def isWordGuessed(secretWord, lettersGuessed):
    a_list = []
    for i in range(0, len(lettersGuessed)):

        a_list.append(lettersGuessed[i])
    str1 = ''.join(a_list)
    if str1 in secretWord:
        return 1
    else:
        return 0

isWordGuessed('apple', ['e', 'i', 'k', 'p', 'r', 's'])

しかし、私はこれをやろうとしました:

isWordGuessed('apple', ['a', 'p', 'l', 'p', 'e'])

リスト内のすべての文字が「apple」にあるにもかかわらず、False を返します。

文字列を作成せずにこれを解決できると思いますが、方法はわかりません。ちなみに、これは指定された単語とリストに対して機能する必要があります。すべてのリスト項目が 1 つの単語に含まれている場合は true、そうでない場合は false...何か助けはありますか?

4

1 に答える 1

7

秘密の単語と既に推測された文字の両方をセットに変換し、秘密の単語の文字のセットが推測された文字のセットのサブセットであるかどうかを確認します。

def isWordGuessed(secretWord, lettersGuessed):
    return set(secretWord) <= set(lettersGuessed)
于 2012-10-19T09:45:08.740 に答える