代码缩进不同意义不同
图一的print在while语法下,而continue是跳过当前循环接着运行,所以只有在奇数时才会打印
图二的print和while循环是同级当while循环下的所有执行完以后才会执行print
图三的print是在if判断条件下coutinue的后面,continue是结束当前循环,所以不会print n,
习惯了java,c++之类的宽容,初学python,被它摆了道下马威,写if else,竟然必须要我正确用缩进格式,原来在python里不能用括号来表示语句块,也不能用开始/结束标志符来表示,而是靠缩进来表示,好吧,我以后多注意
空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。
这意味着同一层次的语句必须有相同的缩进。
python和c语言,java语言不同,不是使用大括号分号来分隔语句。
python是使用换行缩进来分隔代码块,将分支循环区分开的。
这几个不同的print,所处的语义代码块不同,有的是在while循环内,有的是在循环外,有的是在循环内的if分支内。所以注定的结果各不相同
代码都是顺序执行的,一点一点仔细往下看就明白了,或者用pycharm、vscode等可以调试的IDE,单步调试一下,也可以看到执行顺序。
图1,当if条件满足时,进入if语句中,执行continue,直接跳过本次循环,重新开始下一次循环,下面的print(n)就不执行了,也就是,偶数跳过,基数打印;
图2,while循环全部执行完之后,再执行print(n)和print('end');
图3,当满足if条件时,进入if语句中,但是遇到了continue,直接跳过本次循环,开始下一次循环了,print(n)永远也执行不了。
大家都知道python是一种对缩进非常敏感的语言,对代码格式要求非常严格的。1、不应该使用空格或Tab缩进的地方使用了空格或Tab;2、或者用到了Tab键