“+ =”导致Python中出现语法错误

时间:2011-04-18 14:22:52

标签: python

n = 1
p = 4
print n += p

给了我:

  

档案“p7.py”,第17行

     

print n + = p

     

SyntaxError:语法无效

如何解决这个问题?

6 个答案:

答案 0 :(得分:24)

n += p是Python中的一个语句,而不是一个返回可以打印的值的表达式。这与其他几种语言不同,例如Ruby,所有都是表达式。

你需要做

n += p
print n

答案 1 :(得分:7)

赋值,包括“增强”赋值(x op= expr作为x = x op expr的缩写),是一个语句,而不是表达式。所以它不会产生价值。你无法打印出任何不会产生任何结果的结果 - 但这就是你告诉Python要做的事情:“评估n += p,然后打印出结果。”

如果您想修改n并打印新n,请在两行上执行此操作。如果您只想打印np的总和而不修改它们,请使用+代替+=

答案 2 :(得分:5)

你需要将它分成不同的行:

n = 1
p = 4
n += p
print n

答案 3 :(得分:4)

n += p等于n = n + p。这是一个单独的声明,不能打印出来。你可能意味着print n + p

修改

  

想出来......有点儿。取出print语句使其有效。我不明白这里的规则,为什么它会打印出来,但我会继续寻找

认真建议找一本关于Python的书并从中学习。你显然(不是故意侮辱,只是告诉你)不知道你在做什么。

答案 4 :(得分:1)

+=是一个声明。把它放在一条线上。

答案 5 :(得分:0)

虽然+=通常是合法的Python,但此时语法上不允许,所以请尝试:

n = 1
p = 4
n += p
print n