for循环中的打印函数的语法无效
问题描述:
今天我一直在Python中学习“for循环”。我在Python Shell中键入代码,SyntaxError: invalid syntax
出现在功能print("I finished")
后面,并且文字print
显示为红色。for循环中的打印函数的语法无效
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
什么是第三个“打印”功能,错了吗?
答
在交互式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
一般来说,尽量不开始以“...”开头的“延续线”上的新陈述。按Enter直到你看到“>>>”,然后你就可以走了。
我不明白为什么“无效语法”出现。在命令提示符下它正常工作。 – mahau 2014-10-08 18:24:27
你可能有一些cr + lf混合了一些cr只有行结束。 记事本必须纠正这一点。 – 2014-10-08 20:47:59