下面的代码显示1到1000的5的倍数之和
s = 0
for i in range(1, 1001):
if i % 5 == 0: s += i
print(s)
如果我在IDLE中运行此代码,结果为100500,但是在外壳程序中出现错误 SyntaxError:无效的语法,出现在print
。为什么IDLE和Shell给出不同的结果?我的Python版本是3.7。
答案 0 :(得分:5)
在Python shell(规范名称:REPL)中,您应该以空行终止缩进的块,因此应在REPL中运行它:
s = 0
for i in range(1, 1001):
if i % 5 == 0: s += i
print(s)
请注意print
之前的空行,这在REPL中是必需的,但是从文件(或IDLE)中运行代码时则不需要。