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

给我:

File "p7.py", line 17

print n += p

SyntaxError: invalid syntax

如何解决这个问题?

4

6 回答 6

24

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

你需要做

n += p
print n
于 2011-04-18T14:25:25.613 回答
7

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

如果要修改n并打印新的n,请分两行执行。如果您只想打印np而不修改任何一个的总和,请使用+而不是+=.

于 2011-04-18T14:26:43.423 回答
5

您需要将其分解为单独的行:

n = 1
p = 4
n += p
print n
于 2011-04-18T14:25:21.930 回答
4

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

编辑

想通了……有点。取出打印语句使其工作。我不明白这里的规则,为什么它会与打印中断,但我会继续寻找

我会认真建议买一本关于 Python 的书并从中学习。你显然(不是侮辱,只是通知你)不知道你在做什么。

于 2011-04-18T14:25:12.257 回答
1

+=是一个声明。将它单独放在一条线上。

于 2011-04-18T14:24:59.157 回答
0

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

n = 1
p = 4
n += p
print n
于 2011-04-18T14:25:40.427 回答