大学生人员进出计数项目IoT距离传感器outer indentation报错咨询
Python缩进错误(outer indentation)排查方案
Python强制要求同逻辑层级的代码缩进完全一致,不允许空格、制表符混用,你遇到的第30行报错按以下步骤排查即可:
- 确认第30行所属的代码块归属:如果该行属于某个
if判断、for循环、函数定义的内部代码,缩进量需要和同块内的其他代码完全一致,常规规范是单级缩进用4个空格。 - 排查缩进混用问题:打开编辑器的「显示空白字符」功能,确认所有缩进都是空格或者都是制表符,不要混用,建议直接设置编辑器「Tab自动转换为4个空格」从根源避免该问题。
- 核对缩进层级:如果第30行不属于任何上层逻辑块,需要取消缩进,和顶级代码/外层函数定义的层级对齐。
给你举个对应项目场景的正误示例参考:
错误写法(第3行缩进不匹配触发报错)
if sensor1.is_triggered(): trigger_time = time.time() if sensor2.is_triggered(): # 该行缩进和同层级的trigger_time行不一致,触发outer indentation错误 if time.time() - trigger_time < 0.8: in_count +=1
正确写法
if sensor1.is_triggered(): trigger_time = time.time() if sensor2.is_triggered(): if time.time() - trigger_time < 0.8: in_count +=1
缩进问题修复后,关联的回溯报错会同步消失,如果修复后还有其他报错,可根据新的错误提示信息进一步定位逻辑问题。
内容的提问来源于stack exchange,提问作者Meera
相关产品推荐
相关产品推荐

