Python中的字符串问题(对象不支持项目分配)

时间:2019-03-04 18:38:07

标签: python string

我正在用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 ='-'。

1 个答案:

答案 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=' ')