我现在正在做一个刽子手计划,但我被卡住了。每当我输入一个正确的单词猜测,我总是得到错误的'str'对象不支持项目分配。在
这是我的代码:
import random
def displayBoard(randomWord):
board = []
for i in randomWord:
board.append(' _ ')
return ''.join(board)
def gameGuesses(randomWord):
newBoard = displayBoard(randomWord)
print(newBoard)
mistakes = 6
count = 0
while not False and mistakes > 0:
letterInput = input("\nPlease input a letter: ").upper()
if letterInput in randomWord:
letter = randomWord.index(letterInput)
while count != letter:
count += 1
if count == letter:
>>>newBoard[count] = letterInput<<<#PROBLEM
else:
mistakes = mistakes - 1
print("Incorrect letter.",mistakes,"remaining.")
wordList = ["Python","Hello","Random"]
randomWord = random.choice(wordList).upper()
gameGuesses(randomWord)
问题出在newBoard[count]=letterInput。我该如何用输入的正确字母替换下划线?在
newBoard
是一个字符串,而字符串在Python中是不可变的,这就是不允许项赋值的原因。在你必须建立一个新的字符串。例如,如果您想替换
'helloworld'
中位置4(o)的字符,您可以发出另一个选择是使用bytearray:
^{pr2}$相关问题 更多 >
编程相关推荐