在咱们编程的时候,经常会碰到代码运行不起来,给咱报错的情况。就像下面这段看起来挺简单的 Python 代码

1. 同学代码

def 运算():
    a=1
    b=2
print(a+b)
print(a-b)
print(a*b)
print(a/b)
  运算()

1.1 报错信息

Sorry:IndentationError: unindent does not match any outer indentation level (default.py, line 4)

中译:

抱歉:IndentationError: unindent不匹配任何外部缩进级别(default.py,第4行)

2. 分析报错

其实啊,主要是这代码的结构和语法有点乱套啦。

先说在这个叫运算的函数里头,定了两个变量,一个叫a,值是 1 ,另一个叫b,值是 2

可问题来了,在函数外面就直接想用这俩变量来做计算和打印,这在 Python 里是不允许的!

在 Python 里,函数里面定的变量属于局部的,在函数外面不能随便用。

而且啊,这里报错提到的缩进问题,通常是因为代码的缩进不一致导致的。比如第 4 行的代码缩进可能不符合前面代码的规范。

还有就是在最后一行 运算() 的时候。前面多了两个空格!

比如说,要是想让这代码能顺顺利利跑起来,就得改成这样:

def 运算():
    a=1
    b=2
    print(a+b)
    print(a-b)
    print(a*b)
    print(a/b)

运算()

这么一弄,代码就能正常工作啦。通过这次报错,咱们就能更明白 Python 的语法规则,还有函数咋用,以后编程就不容易犯同样的错啦。