购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 逻辑控制语句

上一节已学习了Python的一些基本数据类型,掌握这些知识后,读者可以通过程序实现一些简单功能,但是要编写具有逻辑判断功能的代码,还是远远不够的,具体应该如何处理呢?这正是本小节的重点内容,即学习使用常用的逻辑控制语句,学会这些知识后,读者的疑问就会得到解答,也能够编写更大型的Python应用程序。

2.3.1 条件分支语句

条件分支语句就是常用的if条件判断,在条件成立或不成立的情况下,都执行相应的代码块,实现相应的功能。

在使用if条件判断语句的时候要注意格式的缩进,不正确的格式缩进可能会导致代码运行结果错误。

Python与C语言等有些不同,在Python中没有用于多分支判断的switch……case语句,当出现多条件分支时可以使用语句if……elif……else。

下面可以通过一个小例子帮助读者更好地理解条件分支语句。

最近某校2班进行了一次测试,Z老师要根据班上同学的考试成绩划分等级,其中分数在90~100(包含90)的同学等级为A,分数在80~90(包含80)的同学等级为B,分数在60~80(包含60)的同学等级为C,其余分数的同学等级为D。请读者编写一个程序,当输入学生分数的时候,得到该学生对应的等级。

可以通过条件分支语句实现上述功能,其中每个分数段代表一个条件分支。首先判断第一个条件是否满足,若满足则执行对应代码块然后结束;否则接着判断后面的条件,当某一条件满足则执行对应代码块然后结束;若所有条件均不满足,则执行else后面的语句。具体代码如下。

程序清单2-27 条件分支语句嵌套功能

该程序运行后,结果如下。

2.3.2 循环语句

1.while循环语句

while循环语句的一般形式如下:

while循环语句和条件分支语句有些相似,都是当表达式为真的时候,就执行语句,不同的是while会一直循环判断该表达式是否为真,若为真则会循环执行语句。在使用while循环语句的时候要注意代码的缩进。

在Python中没有do……while语句,使用的时候要注意。下面通过一个小例子来帮助读者更好地理解while循环语句。

请帮小芳同学找出1~30范围内偶数的和。

可以在while循环语句中嵌套条件判断语句实现上述功能。其中循环语句用于限制数字从1~30的变化范围;条件判断语句用于判断数字是否为偶数,若为偶数则进行加法运算。具体代码如下。

程序清单2-28 while语句使用实例

该程序运行后,结果如下。

2.for语句实现循环

接触过C语言的读者可能对for语句并不陌生,C语言的for循环十分灵活,通过调整条件,可以让for循环用于循环次数固定和循环次数不确定的情况。但是在Python中,for语句循环的使用与C语言中的用法略有差别。Python中的for语句依据任意序列中的子项,按照它们在序列中的顺序进行迭代。

for语句的一般形式如下:

数据类型包含字符串、列表、元组、字典和集合等。

下面以遍历字符串的例子来说明for循环语句,具体代码如下。

程序清单2-29 for语句实例

该程序运行后,结果如下。

看到这个例子,读者可能还有疑问,若想遍历数字序列,使用上面的for语句实现,会不会过于烦琐?其实在需要遍历数字序列的时候,可以使用range()方法,这样会方便很多。下面将详细介绍range()的用法。

range(beg, end, step):其中beg是初始值,end是停止值(但不包括end值),step是步进。若没有指定beg值,则默认从0开始,若没有设置步进值step,则默认step是1。具体示例代码如下。

程序清单2-30 range()函数实例

该程序运行后,结果如下。

2.3.3 break语句和continue语句

break语句的作用是终止当前循环,跳出循环体。若使用了循环嵌套,break语句将终止最深层的循环。为便于读者理解,下文将通过一个例子来更加直观地介绍break语句的用法。

找到100~200之间第一个可以被3整除的数,并将其输出,具体代码实现如下。

程序清单2-31 break语句实例

该程序运行后,结果如下。

由上述代码可知,当找到能被3整除的数之后,就将该数输出,此时使用了break语句中断整个for循环。

continue语句的作用是结束本次循环,即continue后面的语句不执行,继续进行下一次循环。continue语句只是结束本次循环,而不是终止整个循环,因此读者应格外注意其与break语句的区别。接下来通过一个例子来更好地理解continue语句。

输出1~10中不能被3整除的数,具体代码如下。

程序清单2-32 continue语句实例

该程序运行后,结果如下。

从上述代码及结果可知,当数字能被3整除结果为真,则执行continue语句,然后直接进入下一次循环。对比两段代码实现的结果,能更加清楚地理解break语句和continue语句之间的区别。 BqkyzbfXSlbjXeATTWg4FnAaYMzYgr7ID06fDAMiaXMwTz0ypqpFSmlnE8wjB2sB

点击中间区域
呼出菜单
上一章
目录
下一章
×