You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python交互模式下for循环后代码报SyntaxError,单独运行却正常?

Python交互模式下for循环后语句报SyntaxError的原因

问题场景:
在FreeCodeCamp学习Python时,一段代码在他人设备上可正常运行,但在自己的Python交互模式中,for循环后的print('After', count)语句触发SyntaxError。不过单独输入该语句时,却能正常执行。

问题原因

Python交互模式对缩进代码块的结束有明确要求:当你写完for循环内的缩进代码后,必须按一次空回车,让解释器确认缩进块已经结束,之后才能输入无缩进的后续代码。

你当前的操作是写完循环内的两行代码后,直接输入了print('After', count),此时解释器仍认为你处于for循环的缩进块中,而这条print语句没有遵循循环内的缩进规则,因此触发语法错误。

当你单独输入这条print语句时,解释器处于顶层无缩进的上下文,自然能正常执行。

正确的交互输入示例

>>> count = 0
>>> print('before', count)
before 0
>>> for thing in [1, 2, 3, 4, 5, 6]:
...     count = count + 1
...     print(count, thing)
...  # 此处按空回车结束循环块
1 1
2 2
3 3
4 4
5 5
6 6
>>> print('After', count)
After 6

内容的提问来源于stack exchange,提问作者anna3176

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 19:09:52