我收到一条错误消息“无法分配给文字”

时间:2017-02-09 17:46:58

标签: python variable-assignment

我正试图让这个程序检查用户是否登陆宝藏广场,如果他们这样做,他们就会得到金币。此外,宝藏只能登陆3次,直到它变成强盗,因此每次玩家登陆后,牌的名称会改变为T2T3B。每当我尝试运行代码时,都会显示错误can't assign to literal

这是我的代码:

1 个答案:

答案 0 :(得分:1)

您尝试这样做:

'T1' = 'T2'

结果ins:

    'T1' = 'T2'
               ^
SyntaxError: can't assign to literal

您无法将一个字符串文字分配给另一个。

你可以这样做:

Grid[oldYpos][oldXpos] = 'T2'

完整的if声明:

if Grid[oldYpos][oldXpos] == 'T1':
    Grid[oldYpos][oldXpos] = 'T2'
elif Grid[oldYpos][oldXpos] == 'T2':
    Grid[oldYpos][oldXpos] = 'T3'
elif Grid[oldYpos][oldXpos] = 'T3':
    Grid[oldYpos][oldXpos] = 'B'

更好的改变:

if Grid[oldYpos][oldXpos] == 'T1' or 'T2'  or 'T3':

在:

if Grid[oldYpos][oldXpos] in ['T1', 'T2', 'T3']: