【问题标题】:I'm getting a error saying 'can't assign to literal'我收到一条错误消息,提示“无法分配给文字”
【发布时间】:2017-06-27 20:44:08
【问题描述】:

我正在尝试使用此程序来检查用户是否降落在宝藏广场上,如果他们降落,他们会获得金币。此外,宝藏只能登陆 3 次,直到它变成一个强盗,因此每次玩家登陆它后,瓷砖的名称都会更改为 T2T3B。每当我尝试运行我的代码时,都会出现一个错误提示 can't assign to literal

这是我的代码:

【问题讨论】:

  • 你能贴一些代码吗?这样没人能帮你
  • 请保持 cmets 的工作效率,显然这是用户的第一篇文章,我们在某个时间点都是初学者,请善待和建设性
  • @NathanDay 我们并没有忽略help center,或者发布代码的屏幕截图...
  • @NathanDay 不,不会。判断内容,而不是用户

标签: python variable-assignment


【解决方案1】:

你尝试这样做:

'T1' = 'T2'

导致:

    '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']:

【讨论】:

  • 很好,它有帮助。顺便说一句,如果它解决了你的问题,你可以accept 一个答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-23
  • 1970-01-01
  • 1970-01-01
  • 2021-07-15
  • 1970-01-01
  • 2014-09-14
  • 2021-10-08
相关资源
最近更新 更多