0


[自学python]从报错开始(2)if else中的unexpected indent等问题

选择结构是在代码书写中常用的一种结构,其中if else语句最为常用。
在python中选择结构可分成单分支选择、双分支选择、多分支选择三种,它们之间也可以相互嵌套,书写模板如下。

#单分支选择结构if 表达式:
    语句块
#双分支选择结构if 表达式:
    语句块1else:
    语句块2#多分支选择结构if 表达式1:
    语句块1elif 表达式2:
    语句块2...else:
    语句块n

结合自身编程经历,我总结了几种可能出现的错误如下:

  1. invalid syntax (语法错误) if else语句中可能出现的语法错误也有好几种。 [1.]条件表达式中出现了赋值语句
i=1if i=1:print(i)else:print("i!=1")

在python中对两个字符进行比较,需要使用"==",“=”为赋值语句。对上述代码,把 i=1改为i==1即可。
[2.]if、else后没有加:

i=1if i==1print(i)elseprint(i+1)

在python中函数体、循环、条件分支、类的详细定义都是一个block,它们跟在各自的函数,循环,条件、类定义后。这些语句后加冒号即说明以下内容为block中的内容。
[3.]else后有条件表达式
else
else语句已涵盖不满足以上if的条件的情况,无需再加条件限定,若想继续增加限定条件,可用elif语句。

  1. expected an indented block (需要缩进)
if i==1:print(i)else:print(i+1)
  1. unexpected indent(不需要缩进)在这里插入图片描述 python对于缩进的要求非常严格,无需缩进之处若缩进了则会报错。此处if和else不需要缩进,删去即可。
  2. unindent does not match any outer indentation level(if else的缩进不匹配)在这里插入图片描述 此时else比if多缩进了一次,会被判定为if下某一个语句对应的else,使得if与else主从关系错误。删去else前多出的缩进即可。
标签: python

本文转载自: https://blog.csdn.net/weixin_45643761/article/details/119112453
版权归原作者 张阿圆 所有, 如有侵权,请联系我们删除。

“[自学python]从报错开始(2)if else中的unexpected indent等问题”的评论:

还没有评论