python - IDLE Shell中多行代码的Python异常错误
问题描述
我在 IDLE for Python 上测试了一些我有一段时间没用过的代码,偶然发现了一个不寻常的错误。
我试图运行这个简单的代码:
for i in range(10):
print(i)
print('Done')
我记得 shell 是逐行工作的,所以这是我首先做的:
>>> for i in range(10):
print(i)
print('Done')
这导致了缩进错误,如下图所示:
我尝试了另一种方式,因为可能下一个语句需要在开头,如下所示:
>>> for i in range(10):
print(i)
print('Done')
但这给出了一个语法错误,奇怪的是:
IDLE 的工作方式对我来说很奇怪。
注意:我实际上正在测试一个更复杂的程序,并且不想创建一个小的 Python 文件来进行简短的测试。毕竟,IDLE 的 shell 不是用于短测试吗?
为什么多行编码会导致此问题?谢谢。
解决方案
只需在return
之后点击一次或两次print(i)
,直到您>>>
再次收到提示。然后你可以输入print('Done')
. 发生的事情是 python 正在等待你告诉它你已经完成了里面的工作for
。你可以通过点击来做到这一点return
。
(不过,您会看到for
循环立即执行。)
推荐阅读
- ios - Swift 中的 UIView 扩展
- php - 用表格理解方法帖子
- java - 如何在android studio java中检查函数的生命状态
- excel - Excel VBA For then 循环
- excel - 当使用条件格式突出显示单元格时,如何识别/解决 Excel 单元格颜色?
- javascript - 谷歌验证码 DOM 选择器不起作用 - document.querySelector('#g-captcha-response').value
- php - Preg_match 正则表达式 php 中的替代值
- stata - coefplot:使用垂直选项放置回归的名称
- node.js - 使用 webpack 使用基于节点环境的特定文件
- unit-testing - ember 单元测试模型