以下是hangman函数的最终代码,但出现语法错误。
def hangman(secretWord):
# secretWord: string, the secret word to guess.
# Starts up an interactive game of Hangman.
#At the start of the game, let the user know how many
# letters the secretWord contains.
guess_count = 8
lettersGuessed = []
guessWord=[]
# * Ask the user to supply one guess (i.e. letter) per round.
while guess_count>0:
guessWord = input('Please Guess a letter: ')
lettersGuessed = guessWord.lower()
print("You have "+str(guess_count)+ " guesses left")
print("Available letters: ",getAvailableLetters(lettersGuessed)
if isWordGuessed(secretWord, lettersGuessed)==True:
guess_count = guess_count
print("Good guess: ",getGuessedWord(secretWord, lettersGuessed))
print("You have "+str(guess_count)+ " guesses left.")
print("Available letter: " + str(getAvailableLetters(lettersGuessed)))
elif isWordGuessed(secretWord, lettersGuessed)==False:
print("Available letter: " + str(getAvailableLetters())
print("Oops! That letter is not in my word: ",getGuessedWord(secretWord, lettersGuessed))
guess_count -= 1
elif secretWord==getGuessedWord(secretWord, lettersGuessed):
print("Congratulations, you won!")
break
在多个地方没有右括号。查看上面报告语法错误的行,并检查匹配的括号。
这里是更正的代码。正如bashBedlam所说,这只是括号不匹配的情况-
def hangman(secretWord):
guess_count = 8
lettersGuessed = []
guessWord=[]
# * Ask the user to supply one guess (i.e. letter) per round.
while guess_count>0:
guessWord = input('Please Guess a letter: ')
lettersGuessed = guessWord.lower()
print("You have "+str(guess_count)+ " guesses left")
print("Available letters: ",getAvailableLetters(lettersGuessed))
if isWordGuessed(secretWord, lettersGuessed)==True:
guess_count = guess_count
print("Good guess: ",getGuessedWord(secretWord, lettersGuessed))
print("You have "+str(guess_count)+ " guesses left.")
print("Available letter: " + str(getAvailableLetters(lettersGuessed)))
elif isWordGuessed(secretWord, lettersGuessed)==False:
print("Available letter: " + str(getAvailableLetters()))
print("Oops! That letter is not in my word: ",getGuessedWord(secretWord, lettersGuessed))
guess_count -= 1
elif secretWord==getGuessedWord(secretWord, lettersGuessed):
print("Congratulations, you won!")
break