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

2.5 条件和循环

计算机之所以能够自动完成任务,是因为它能够进行判断,根据不同的条件做出不同的响应,除此之外,还能通过循环操作反复多次执行某些程序。这些功能的实现取决于编程语言的条件判断和循环语句。

2.5.1 if语句

在Python中,if语句的关键字为if elif else,在每个条件的后面均使用冒号(:)表示接下来满足条件且要执行语句块,使用缩进划分语句块。if语句可以嵌套。需要说明的是,Python中没有switch case语句。

编写测试程序为

执行3次,分别输入1、2、3,可以看到,程序根据输入的不同,输出也不同,即

在Pyhton中,if语句常用的操作运算符有

在Python中,if语句可以嵌套if语句,编写测试程序if.py,分别输入1、2、3、4中的一个数字,通过程序可以判断识别输入的数字,即

运行结果为

2.5.2 while循环

在Python中,while循环的基本语法为

只要var变量为真,则execute_cmd()将一直执行下去,即

当counter小于4时,会一直处于while循环中。当不满足小于4的条件时,则退出while循环。运行结果为

无限循环

在后续的单片机编程中,无限循环非常常见,在Python中常用while True:表示无限循环,使用组合键Ctrl+C可退出无限循环的程序。

while循环使用else语句

当while不满足判断条件时,执行else语句,即

执行后,将分别打印'in while'和'in else',运行结果为

2.5.3 for...in循环

在Python中,for...in循环的基本语法为

使用for...in循环能够非常方便地遍历一个序列,即

执行后,会依次打印players中的每个元素,运行结果为

利用for...in循环可以轻松计算1~10的所有整数之和,即

执行后,得到的结果为55。

基于上面的程序进行扩展,如果想要计算1~50的所有整数之和,那么意味着var需要定义1~50的50个数字,非常烦琐。Python提供的range()函数正好能够避免这样的麻烦。

range()函数

使用var=range(1,11)替换程序中的语句var=[1,2,3,4,5,6,7,8,9,10]。range(1,11)表示从1~11的所有整数,且不包括11。range(1,11,2)表示从1~11间隔为2的数字,且不包括11。range(11)表示0~11之前的所有整数,且不包括11。

2.5.4 跳出循环

for和while循环可以使用break语句让程序跳出循环。简单地说,break语句会使循环跳出,在其后面的循环代码不会被执行,如

执行后,可以看到for循环并没有将字符串迭代完,因为中途满足条件通过break语句跳出了循环,while循环也一样,运行结果为

此外,在Python中,continue语句可以使程序跳过当前循环中的剩余语句后,继续进行下一轮循环,如

运行结果为

可见,当程序迭代到数字3时,虽并未打印,但循环继续进行。

continue语句与break语句的区别在于使程序跳出本次循环,break语句是使程序跳出整个循环。

2.5.5 pass语句

在Python中,pass语句是空语句。它的存在是为了保持程序结构的完整性。pass语句不做任何事情,一般用作占位语句。

当编写程序时,若执行语句部分还没有想好,就可以使用pass语句占位,也可以使用pass语句作为标记,表示此处之后需要继续添加代码。比如,在嵌入式程序的while循环中,使用pass语句使程序不报错,先去实现其他部分的代码,即 1Hg3MCR0n3mbJpypzU1NaOozNUT/GM9QZ2tvNYy6AmdvXzWqgWR1iOEU1bSRkVi5

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