Python 初学者在这里:类型错误:"str"对象不支持项目赋值



我几天前才开始与Python进行编程,没有以前的编程经验。

我一直在网上关注教程,并决定通过制作一个悬挂式游戏的游戏来挑战自己。我正在尝试做到这一点,以便猜测隐藏的单词中的字母替换为字母,但Python正在返回此错误。现在,该单词称为名称,而Hidden_name仅在相同的长度中s#s。

    name = input ("what is your name ::")
    hidden_name = ("#" * len(name))
    print (hidden_name)
    guess = input ("Guess a letter ::")
    def guess_update(guess, name, hidden_name):
        right = guess in name 
        i = 0
        for c in name:
            if c == guess:
                hidden_name[i] = c
            i += 1
    if guess in name:
        guess_update(guess, name, hidden_name)
        print ("Your progess is ::", hidden_name)

感谢您帮助这个新手:(

python中的字符串是不变的,因此您不能这样做:

hidden_name[i] = c

将对您的游戏实现预期效果的一种选项是:

hidden_name = hidden_name[:i] + c + hidden_name[i+1:]

这起作用是因为您使用串联创建了一个新字符串,并将结果重新分配回变量,而不是尝试编辑现有字符串。

python中的字符串是不明智的,因此您无法更改其内容。一种解决方案是拆分字符串,更改字母并将其粘在一起:

splitted = list(hidden_name)
splitted[i] = c
hidden_name = ''.join(splitted)

最新更新