0

Python 3: 「Invent Games with Python」のハングマンのコーディング。Syntax msg に「無効な構文」と表示され、印刷機能が強調表示されます。問題はハングマンの単語リストと分割方法にあると思います。ご協力いただきありがとうございます。

import random
HANGMANPICS = ['''

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


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


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


  +---+
  |   |
  O   |
 /|   |
      |
      |
      |
=========''', '''


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


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


  +---+
  |   |
  O   |
 /|\  |
 / \  |
      |
      |
=========''']


words = '''ant baboon badger bat bear beaver camel cat clam
cobra cougar coyote crow deer dog donkey duck eagle ferret
fox frog goat gooose hawk lion lizard llama mole monkey
moose mouse mule newt otter owl panda parrot pigeon python
rabbit ram rat raven rhino salmon seal shark sheep skunk
sloth snake spider stork swan tiger toad trout turkey
turtle weasel whale wolf wombat zebra'''.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()           #this print statement is highlighted w/invalid syntax msg

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

    blanks = '_' * len(secretWord)

for i in range(len(secretWord)):    #replaces blanks w/correctly guessed ltrs
    if secretWord[i] in correctLetters:
        blanks = blanks[:i] + secretWord[i] + blanks[i + 1:]

for letter in blanks:               #show secret word w/spaces between ltrs
    print(letter, end=' ')

print()
4

1 に答える 1

2

ちょうど上にある行のの行に閉じ括弧を忘れprint()ました:

print(HANGMANPICS[len(missedLetters)]  # Note the missing `)` here

Python で説明のつかない構文エラーが発生した場合は、の行を確認してください。Python はprint()そこで関数への引数をさらに見つけることを期待していましたが、次の行はその期待に反していました。

于 2013-01-12T15:23:06.603 に答える