2016-12-08 4 views
1

私のハングマンコードは現在正しく動作していますが、間違った推測では人生を差し引いていますが、すでに手紙を推測して再試行しても生存は差し引かれます。 私のコードは次のとおりです。Python - Hangman Letter already guessed

def playGame(word, lives): 
    lst=[] 
    dct = start(word, lives) 

     1: 
      print("Please enter 1 letter") 

     elif letter in lst: 
      print("Already in list") 

     else: 
      count = updatelives(dct, letter) 
      print(letter,"occurred", count, "times") 
    if guess(dct): 
     print(dct["secret"]) 
     print("Well done, you guessed the word") 
    else: 
     print("You've run out of guesses.") 
     print("The word was", dct["secret"]) 
    return 

私は空のリストを作成しようとした、各文字を追加すると言っelifのステートメントの追加入力された「LST内のElifの手紙を:印刷(」エラー ")が、そのない場合にも、エラーが続きますuは、コードの他の部分を参照する必要がある場合、私はわからないんだけど、この周りに自分の道?

されるもの。重複するが、これは

+0

'def推測(辞書)'関数を含めることができますか?そのためには、 – TemporalWolf

+0

という空リストに間違った文字を追加し、そのリストに対する推測を参照することは良い方法のように聞こえます。その試みを表示できますか? – Eric

+0

私はメインポストを更新しました –

答えて

0

あなたはそれが既にあったかどうかチェックする前に自分の推測を追加する主要部分でありますリスト内:

lst.append(letter) 
... 
elif letter in lst: 
    print("Already in list") 

これは常にリストにあります

+0

もっと明確にするために、あなたの 'lst.append(letter)'をelse文に追加してください。それはリストに追加されるだけです。すべてのチェックを終えた後に – Eric

+0

これはおそらくルックアップがO(1)になるように、代わりにセットのデータ構造を使用した方が良いでしょう。 – Darthfett