错题分析 - 局部全局
在咱们编程的时候,经常会碰到代码运行不起来,给咱报错的情况。就像下面这段看起来挺简单的 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 的语法规则,还有函数咋用,以后编程就不容易犯同样的错啦。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自。
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果