2017-12-05 43 views
-3

このハングマンコーディングで問題があります。コードを実行すると、「a〜zの文字を入力してください」という質問が表示されますが、文字を入力する代わりに文字を入力すると、最初から同じ質問が表示されます。手紙は正しいかどうか。PythonでHangmanをコーディングする

import random 

possibleAnswers = ["page","computer","cookie","phishing","motherboard","freeware","bus","unix","document","hypertext","node","digital","worm","macro","binary","podcast","paste","virus","toolbar","browser"] 

random.shuffle(possibleAnswers) 

answers = list(possibleAnswers[1]) 

display = [] 
display.extend(answers) 

for i in range(len(display)): 
    display[i] = "_" 

print ' '.join(display) 
print "\n\n\n\n" 

count = 0 

while count < len(answers): 

    guess = raw_input("Type in a letter a - z: ") 

    guess = guess.upper() 

    for i in range(len(answers)): 
     if answers[i] == guess: 
      display[i] = guess 
      count += 1 

    print ' '.join(display) 
    print "\n\n\n" 
+0

「文字が正しいかどうか知らせないでください」あなたのコードには、推測が正しいかどうかを明示的に知らせる印刷ステートメントはありません。 –

+0

@ジョンゴードン:一番下の「プリント」のペアです。 'display'は正しい推測が入った一連のダッシュです。 – Prune

+0

私はそれがそういうものだと考えました。私のコメントは、OPの微妙なヒントのほうが、問題の説明が十分に具体的ではないということでした。あまりにも微妙な、私は思います。 –

答えて

2

それははファッションの後に、あなたを教えてくれありません。問題は、単語リスト全体が小文字であることですが、具体的にはすべての入力推測を大文字に変更します。それらは一致することができないので、決して「正しい」推測はありません。単語リストを大文字に変更するか、upperからlowerに変換します。