python中unexpected indent报错的解决办法
在我们初步学习pyton的时候,由于对python语言的学习掌握不充分,则会导致所编写的代码,运行时候报错。比如,容易报错的unexpected indent问题,下面举例说明问题。
1.举例(正确代码)
我们想通过编写子函数的方式,定义一个斐波拉契数列函数。
正确代码应该如下
#定义一个斐波拉契数列函数
def fib(n): # write Fibonacci series up to n
"""Print a Fibonacci series up to n."""
a, b = 0, 1
while a < n:
print(a, end=' ')
a, b = b, a+b
print()
下面在IDLE中编写的代码截图
基于上述代码,运行结果如下,从下图的运行结果可以看出,没有报错。
再试着计算一下23以内的斐波拉契数列,在IDLE shell中输入fib(23),运行结果如下:
2.举例(出现unexpected indent报错)
如果我们不注意,每行的缩进问题,则容易发生unexpected indent(意外缩进),比如下面的报错代码示例
在上面的这段代码中a多缩进了一个空格,运行时出现了unexpected indent报错。
在上面的这段代码中a多缩进了两个空格,运行时出现了unexpected indent报错。
在上面的这段代码中a多缩进了10个空格,运行时同样出现了unexpected indent报错。
3.解决方法和总结
解决方法:严格控制缩进的空格数量。
基于上述的举例试验,可以看出在python中对代码的缩进有严格的要求,否则容易出现运行报错的问题,并提示“unexpected indent”(即“意外缩进”),因此各位同学在学习的时候,一定要严格控制代码的缩进,防止出现运行出错,影响学习或工作进度。