2016-09-17 15 views
-1

私は基本的なハングマンゲームを作成しようとしていますが、実行しようとする度にタイトルに同じエラーが表示されます。私は自分のコードを徹底的に調べていますが、私が気づいたいくつかの問題は修正していますが、同じエラーが発生します。どんな助け?ありがとう。Python - 3重引用符で囲まれた文字列リテラルをスキャン中のEOF

import random 
HANGMANPICS = [''' 

+---+ 
| | 
    | 
    | 
    | 
    | 
=========''', ''' 

+---+ 
| | 
o | 
    | 
    | 
    | 
=========''', ''' 

+---+ 
| | 
o | 
| | 
    | 
    | 
=========''', ''' 

+---+ 
| | 
o | 
/|\ | 
    | 
    | 
=========''', ''' 

+---+ 
| | 
o | 
/|\ | 
/ | 
    | 
=========''', ''' 

+---+ 
| | 
o | 
/|\ | 
/\ | 
    | 
=========''', ''' 

言葉=「アリヒヒアナグマバットクマビーバーラクダ猫のクラムコブラクーガーコヨーテカラス鹿犬ロバアヒルワシフェレットキツネカエルヤギガチョウタカライオントカゲラマモルサルムースマウスラバイモリカワウソフクロウパンダオウムハトのpythonウサギラムラットカラスサイサーモンシールサメ羊スカンクナマケモノのヘビ、クモコウノトリ白鳥タイガーヒキガエルトラウト七面鳥亀イタチクジラオオカミのウォンバットシマウマ」.split()

def getRandomWord(wordList): 

    wordIndex = random.randint(0, len(wordList) - 1) 
    return wordList[wordIndex] 

def displayBoard(HANGMANPICS, missedLetters, correctLetters, secretWord): 
    print(HANGMANPICS[len(missedLetters)]) 
    print() 

    print('Missed letters:', end=' ') 
    for letter in missedLetters: 
     print(letter, end=' ') 
    print() 

    blanks = '_' * len(secretWord) 

    for i in range(len(secretWord)): 
     if secretWord[i] in correctLetters: 
      blanks = blanks[:i] + secretWord[i] + blanks[i+1:] 

    for letter in blanks: 
     print(letter, end=' ') 
    print() 

def getGuess(alreadyGuessed): 

    while True: 
     print('Guess a letter.') 
     guess = input() 
     guess = guess.lower() 
     if len(guess) != 1: 
     print('Please enter a single letter.') 
     elif guess in alreadyGuessed: 
     print('You have already guessed that letter. Choose again.') 
     elif guess not in 'abcdefghijklmnopqrstuvwxyz': 
     print('Please enter a LETTER.') 
     else: 
     return guess 

def playAgain(): 

    print('Do you want to play again? (yes or no)') 
    return input().1ower().startswith('y') 


    print('H A N G M A N') 
    missedLetters = '' 
    correctLetters = '' 
    secretWord = getRandomWord(words) 
    gameIsDone = False 

    while True: 
     displayBoard(-HANGMANPICS, missedLetters, correctLetters, secretWord) 


    guess = getGuess(missedLetters + correctLetters) 

    if guess in secretWord: 
    correctLetters = correctLetters + guess 


    foundAllLetters = True 
    for i in range(len(secretWord)): 
     if secretWord[i] not in correctLetters: 
      foundAllLetters = False 
      break 
    if foundAllLetters: 
     print('Yes! The secret word is "' + secretWord + '"! You have won!') 
     gameIsDone = True 
    else: 
    missedLetters = missedLetters + guess 


    if len(missedLetters) == len(HANGMANPICS) - 1: 
      displayBoard(HANGMANPICS, missedLetters, correctLetters, secretWord) 
      print('You have run out of guesses!\nAfter ' + str(len(missedLetters)) + ' missed guesses and ' + str(len(correctLetters)) + ' correct guesses, the word was "' + secretWord + '"') 
      gameIsDone = True 


if gameIsDOne: 
    if playAgain(): 
     missedLetters = '' 
     correctLetters = '' 
     gameisDone = False 
     secretWord = getRandomWord(words) 
else: 
    break 
+0

あなたのコードが理解していないする必要がありますか? – Jeril

答えて

0

あなたはHANGMANPICSのリストを終了していない - あなたのコードは、に表示されますbe

          #\/ starts a new list entry which never ends 
HANGMANPICS = ['''first''', '''second''', ''' 
words = 'ant baboon badger' .split() 

、それはインデントの、あなたが適切にインデントのコードを追加することができますので、

         # \/ list ends 
HANGMANPICS = ['''first''', '''second'''] 
words = 'ant baboon badger'.split() 

         #^ and incidentally, no space here 
関連する問題