////根标题=Python程序设计与应用实战////主标题=控制语句////作者=张勇////地址1=电子科技大学~~数学科学学院////地址2=////地址3=////标题缩减级别=11控制结构...................................................................................................................................11.1分支语句.......................................................................................................................11.1.1if语句的嵌套...................................................................................................21.2for循环.........................................................................................................................31.2.1Python循环中的控制语句..............................................................................51.3while循环语句.............................................................................................................61.3.1举例...................................................................................................................61控制结构Python支持三种不同的控制结构:if,for和while,不支持C语言中的switch语句。1.1分支语句格式:ifEXPRESSION1:STATEMENT1elifEXPRESSION2:STATEMENT2else:STATEMENT3if条件:if块else:else块说明:条件不需加括号,例如a==b即可,但后面却有一个冒号是不可少的“:”;else后也有一个冒号“:”。if块、else块要以缩进的格式书写,因为python中,缩进量相同的是同一块。这与C语言的一对大括号{}不同。if语句用来检验一个条件,如果条件为真,我们运行一块语句(称为if-块),否则我们处理另外一块语句(称为else-块)。else从句是可选的。[newpage]示例1score=int(input())ifscore60:print(D)elifscore80:print(C)elifscore90:print(B)else:print(A)[newpage]示例2#ifelifelse语句score=int(input(score:))if(score=90)and(score=100):print(A)elif(score=80)and(score90):print(B)elif(score=60)and(score80):print(C)else:print(D)[newpage]1.1.1if语句的嵌套编写条件语句时,应该尽量避免使用嵌套语句。嵌套语句不便于阅读,而且可能会忽略一些可能性。例子:x=-1y=99if(x=0):if(x0):#嵌套的if语句y=1else:y=0else:y=-1print(y=,y)如何实现类似switch语句功能:循环格式:for循环变量in序列:循环体示例1:mylist=forstatementforccinmylist:print(cc)else:#最终执行print(Endlist)#!/usr/bin/pythonforletterin'Python':#FirstExampleprint'CurrentLetter:',letterfruits=['banana','apple','mango']forfruitinfruits:#SecondExampleprint'Currentfruit:',fruitprintGoodbye!1.2.1通过序列索引迭代另外一种执行循环的遍历方式是通过索引,如下实例:#!/usr/bin/pythonfruits=['banana','apple','mango']forindexinrange(len(fruits)):print('Currentfruit:',fruits[index])print(Goodbye!)以上实例输出结果:Currentfruit:bananaCurrentfruit:appleCurrentfruit:mangoGoodbye!以上实例我们使用了内置函数len()和range(),函数len()返回列表的长度,即元素的个数。range返回一个序列的数。[newpage]函数range()是一个内置函数:生成某个范围内的数字列表。例如:range(1,6)就会生成[1,2,3,4,5]这样一个列表,range(8)会生成[0,1,2,3,4,5,6,7]这样一个列表。示例:foriinrange(1,5,1):print(i)[newpage]它在一序列的对象上递归,即逐一使用队列中的每个项目,对每个项目执行一次循环体。应用中常用的格式是for循环变量inrange(N1,N2,N3):循环体其中,N1表示起始值,N2表示终止值,N3表示步长。循环变量依次取从N1开始,间隔N3,到N2-1终止的数值,执行循环体。当然可以有嵌套循环,比如说有一个列表list=['China','England','America'],要遍历输出每个字母。实现:list=['China','England','America']foriinrange(len(list)):word=list[i]forjinrange(len(word)):print(word[j])[newpage]例如:foriinrange(1,10,3):print(i)print('Theforloopisover')结果为:C:\Python31pythonfor.py147Theforloopisover在这个程序中,打印了一个序列的数,而这个序列是使用内建的range函数生成的。例如,range(1,5)给出序列[1,2,3,4]。默认地,range的步长为1。range(1,10,3)给出[1,4,7]。range向上延伸到第二个数,但不包含第二个数。for循环在这个范围内递归——foriinrange(1,10,3)等价于foriin[1,4,7],这就如同把序列中的每个数(或对象)赋值给i,然后一次对每个i的值执行这个程序块。[newpage]最后加一点,Python中的for和while循环都可以加else子句,else子句在整个循环执行条件不符合时执行(这种用法现在一般用得比较少了)。#这两段循环功能完全相同count=5whilecount0:print('ilovepython')count=count-1else:print('over')count=5whilecount0:print('ilovepython')count=count-1print('over')1.2.2Python循环中的控制语句①breakbreak语句与C语言中的一样,跳出最近的for或while循环。②continuecontinue语句同样是从C语言借用的,它终止当前迭代而进行循环的下一次迭代。③passpass语句什么都不做,它只在语法上需要一条语句但程序不需要任何操作时使用。pass语句是为了保持程序结构的完整性。④else子句在循环语句中还可以使用else子句,else子句在序列遍历结束(for语句)或循环条件为假(while语句)时执行,但循环被break终止时不执行。如下所示:[newpage]例子:#循环结束执行else子句foriinrange(2,11):print(i)else:print('forstatementisover.')#被break终止时不会执行else子句foriinrange(5):if(i==4):break;else:print(i)else:print('forstatementisover')#不会输出1.3while循环语句while条件:循环体注意,条件后有一个冒号,循环体要使用缩进的格式。while语句的功能是党条件成立(为真)时,执行循环体,然后再次检验条件,如果成立,再次执行循环体,直到条件不再成立,然后执行后面的程序。1.3.1举例a=0whilea5:a=a+1print(a)else:print(a'svalueisfive)[newpage]例子:count=5whilecount0:count=count-1ifcount==3:continueprint(ilovepython!)ilovepython!ilovepython!ilovepython!ilovepython!