报错代码“expected an indented block”,通常发生在 Python中尝试在 if、else、for、while 等语句后没有正确地缩进代码块。原因有很多,常见的有3个:
1.错误的缩进级别:比如if语句后面要缩进,结果无缩进;
2.混合使用空格和制表符:这种比较常见,然而在IDLE中又很难排查,最有效的方法是将代码复制到txt文本里面,就能很清晰地看到问题了,见下图:
左边是IDLE输入的代码,将代码复制到记事本,就可以看到很多语句位置是错误的。因此,可以结合记事本修改语句位置,或者直接在记事本上敲好代码,再复制到IDLE上即可。
3.复制粘贴问题:有时从网页或其他源复制代码时,可能会不小心复制了不可见的特殊字符,这些字符会影响缩进。