Reputation: 4801
n = 1
p = 4
print n += p
gives me:
File "p7.py", line 17
print n += p
SyntaxError: invalid syntax
How can this problem be fixed?
Upvotes: 3
Views: 725
Reputation: 117691
n += p
is equal to n = n + p
. This is a statement on its own and cannot be printed out. You probably meant print n + p
.
EDIT:
figured it out... somewhat. taking out the print statement makes it work. I dont understand the rule here, why it breaks with print, but Ill keep looking
I would seriously suggest to get a book about Python and learn from that. You obviously (not meant as an insult, just informing you) have no idea what you are doing.
Upvotes: 4
Reputation: 336158
n += p
is a statement in Python, not an expression that returns a value you could print. This is different from a couple of other languages, for example Ruby, where everything is an expression.
You need to do
n += p
print n
Upvotes: 24
Reputation:
Assignment, including "augmented" assignment (x op= expr
as shorcut for x = x op expr
), is a statement, not an expression. So it doesn't result in a value. You can't print the result of something that doesn't result in anything - but that's what you're telling Python to do: "Evaluate n += p
, then print the result of that."
If you want to modify n
and print the new n
, do that on two lines. If you just want to print the sum of n
and p
without modifying either, use +
instead of +=
.
Upvotes: 7
Reputation: 46607
While +=
is generally legal Python, it is syntactically not allowed at this point, so try:
n = 1
p = 4
n += p
print n
Upvotes: 0
Reputation: 20641
You'll need to break it up onto separate lines:
n = 1
p = 4
n += p
print n
Upvotes: 5