我正在用Python开发“ Hangman”游戏,我想用_ _ _ _ _(下划线)代替我的单词。我不知道密码的长度,所以我用len(secret)获取值。但是当我在for语句中出现错误:'str'对象不支持项目分配。
我的代码是:
def get_guessed_word(self, secret, letters_guessed, guessed_word):
print(secret)
for a in range(len(secret)):
guessed_word[a] = '_'
print(guessed_word)
因此,我想替换/添加我的密码长度'guessed_word ='-'。
答案 0 :(得分:0)
字符串是不可变的,您不能更新字符。这意味着str
可能根本不是存储游戏状态的正确类型。请改用list
。
word = 'banana'
guessed = ['_'] * len(word)
使用这种格式,guessed
单词可以更新。
def reveal(guessed, word, letter):
for i, c in enumerate(word):
if c == letter:
guessed[i] = letter
然后可以像这样打印猜测。
print(*guessed, sep=' ')