-3

Python の基礎を独学で学ぶためにハングマン ゲームを作成していますが、次のタスクを完了する関数の開発に行き詰まっています。難易度は、イージーとハードの 2 種類のモードにレポートされます。イージー モードでは、コンピューターは unguessed_cons リストからランダムに文字を選択し、設定された文字を出力します。たとえば、letter_guesser('abcdefg','Easy') 'd' (ランダムに選択)

2 オプション: プレイヤーは別のタイプの難易度であるハード モードを選択します。ここがややこしいところですが、

このゲーム モードでは、PRIORITY_CONSONANTS と呼ばれる別の定数があります。これは、関数の開始時にユーザーが入力した他の子音よりも優先されるアルファベット文字のリストです。たとえば、 ; PRIORITY_CONSONANTS = 'tnrslhdcmpfgybwvkqxjz'、つまり t が最も優先度が高いため、t = unguessed_cons の場合は出力されます。例: letter_guesser('atdcdg','HARD') 't' (優先度定数の最初で unguessed_cons に存在)

*それが明確になることを願っています

私が考えたこと:1.イージーモード=選択されている場合。unguessed_cons elif hard mode = selected; から子音をランダムに選択します。PRIORITY_CONSONANTS(例、a、b、c、d)の最も高いパワーを見つけたら、コンピューターにスキャンして印刷させる方法がわからない a =最初にスキャンして検索し、次にbなど、一致するものが見つかるまで設定文字を出力します。

4

1 に答える 1

0

これは完全な魂ではありませんが、それを行う方法のアイデアを与えるはずです。

In [349]: from random import choice

In [350]: choice('absderg')
Out[350]: 'b'

Pythonはオープンソースであるため、次のコードを見ることができます。

def choice(self, seq):
        """Choose a random element from a non-empty sequence."""
        return seq[int(self.random() * len(seq))]  # raises IndexError if seq is empty
于 2012-10-19T10:41:53.513 に答える