for循环中print函数的语法无效

时间:2014-10-08 18:19:51

标签: python for-loop

今天我一直在学习一个" for循环"在Python中。我在Python Shell中键入代码,SyntaxError: invalid syntax在函数print("I finished")之后出现,单词print为红色。

words = ["cat", "125", "dog", "pig"]
for word in words:
    if word == "125":
        print("No spam please!")
        break
    print("Nice " + word)
else:
    print("I am lucky: No spam.")
print("I finished")

但是当我在记事本中编写代码并保存为*.py而不是使用命令提示符运行时,它可以正常工作并且来了:

Nice cat
No spam please!
I finished

第三个" print"是什么?功能错了?

1 个答案:

答案 0 :(得分:5)

在交互式Python shell中,你通常需要在最外面的if / else / for / while / whatever块的末尾和下一个语句的开头之间留一个空行。

else: 
    print("I am lucky: No spam.") 

print("I finished")

作为一个更简单的例子:没有空行会导致错误:

>>> if True:
...     print("!")
... print("finished")
  File "<stdin>", line 3
    print("finished")
        ^
SyntaxError: invalid syntax

留空空间会让它起作用:

>>> if True:
...     print("!")
...
!
>>> print("finished")
finished

一般来说,尽量不要在&#34;延续线上开始新的陈述&#34;以&#34; ...&#34;开头。按Enter直到您看到&#34;&gt;&gt;&gt;&#34;,然后您就可以了。