【问题标题】:Python: Variable name is 'syntax error'Python:变量名是“语法错误”
【发布时间】:2013-10-18 02:25:31
【问题描述】:

我一直在开发一个小型战斗模拟程序,其中包含伤害、健康、防御和其他东西(只是为了好玩),但我遇到了这个“语法错误”。语法错误是由enemystr = str(enemydamage) 引起的。我尝试删除它,但它只是说下面的打印语句是语法错误。

def enemyattack():
    enemyrandompick = random.randint(1, 4)
    if enemyrandompick == 1:
        enemydamage = (random.randint(1, 3) * (enemyattack - (defense * 1.25))
        enemystr = str(enemydamage)
        print "The enemy's attack hits you and takes away " + enemystr , "health, leaving you with" + str(int(health))

【问题讨论】:

  • 您忘记了上一行的右括号。 (当您遇到神秘的语法错误时,请务必检查前一行,尤其是在删除该行没有帮助的情况下!)
  • 谢谢,问题解决了。
  • 是时候切换到可以突出显示此类错误的编辑器了。没有任何借口将 SO 浪费在这些微不足道的错误上。
  • @Barmar:放轻松。如果你不想在这上面浪费时间,那就不要。
  • 他浪费的不仅仅是我们的时间,也是他自己的。

标签: python variables python-2.7 syntax error-handling


【解决方案1】:

这一行有一个不匹配的括号:

enemydamage = (random.randint(1, 3) * (enemyattack - (defense * 1.25)))
#                                                                     ^ Missing closing paranthesis

【讨论】:

  • 指出行中有一个不必要的前导 ( 可以说更像 Pythonic :)
【解决方案2】:

而且我认为您也没有声明变量“健康”。

`print "敌人的攻击击中你并带走" +enemystr , "health, leave you with" + str(int(health))
                                                                                                         ^
`

【讨论】:

  • OP 没有明显显示整个代码,变量health 必须在其他地方定义,加上如果health 不是,它会触发NameError 而不是SyntaxError t 定义
  • OK...我只是以为整个脚本中只有一个函数,抱歉。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-26
  • 2022-06-15
  • 2019-11-06
  • 2015-08-02
  • 1970-01-01
  • 2015-02-05
  • 2012-10-23
相关资源
最近更新 更多