gpt4 book ai didi

Python:Hangman TypeError: 'str'对象不支持项目分配

转载 作者:太空宇宙 更新时间:2023-11-03 17:01:49 25 4
gpt4 key购买 nike

我目前正在制作一个刽子手程序,但我陷入困境。每当我输入正确的单词猜测时,我都会收到错误“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),您可以发出

>>> s = 'helloworld'
>>> s = s[:4] + 'X' + s[5:]
>>> s
'hellXworld'

另一种选择是使用字节数组:

>>> s = bytearray('helloworld')    
>>> print(s)
helloworld
>>> s[4] = 'X'
>>> print(s)
hellXworld

关于Python:Hangman TypeError: 'str'对象不支持项目分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34966996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com