-1
我想写一个基本的Hang子手游戏,并且每当我尝试执行它时,都会得到标题中提到的相同错误。我已经仔细研究了我的代码,并且在解决了一些我注意到的问题的同时,我仍然遇到了同样的错误。任何帮助?谢谢。扫描三引号字符串文字时Python - EOF
import random
HANGMANPICS = ['''
+---+
| |
|
|
|
|
=========''', '''
+---+
| |
o |
|
|
|
=========''', '''
+---+
| |
o |
| |
|
|
=========''', '''
+---+
| |
o |
/|\ |
|
|
=========''', '''
+---+
| |
o |
/|\ |
/ |
|
=========''', '''
+---+
| |
o |
/|\ |
/\ |
|
=========''', '''
话=“蚁狒狒獾蝙蝠熊狸骆驼猫蛤眼镜蛇美洲狮狼乌鸦鹿狗驴鸭老鹰雪貂狐青蛙羊鹅鹰狮蜥骆驼摩尔猴驼鹿鼠标骡子蝾螈水獭猫头鹰熊猫鹦鹉鸽蟒兔RAM老鼠乌鸦犀牛三文鱼鲨鱼密封羊臭鼬懒蛇蜘蛛鹳天鹅虎蟾蜍鳟鱼火鸡龟黄鼠狼鲸狼袋熊斑马” .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
你的代码是因为压痕的不理解,你可以添加适当的缩进代码? – Jeril