Python入门Section04流程控制Page2本节内容Python的条件判断Python的循环语句练习Page3流程控制计算机之所以能做很多自动化的任务,因为它可以自己做条件判断和循环控制。比如上节的BMI计算-根据不同区间输出不同的结论-如果需要持续运行-可以不断接收输入,给出结果?Page4条件判断:ifif条件判断1:执行1elif条件判断2:执行2elif条件判断3:执行3else:执行4Page5Python缩进规则写完if以后,会自动缩进-这并不是为了代码好看易读-而是一种语法要求!if代码什么时候结束-去掉缩进就自动结束了整个代码中缩进必须完全相同-tab和4个空格Page6if语句执行顺序预测下下列代码的输出结果age=20ifage=6:print('teenager')elifage=18:print('adult')else:print('kid')Page7python的条件控制注意Python没有switchcasePage8Python的循环Python中的循环语句有for和while。Python循环语句的控制结构图如下所示:Page9while循环while判断条件:语句同样需要注意冒号和缩进。在Python中没有do..while循环。Page10一起练:使用了while来计算1到100的总和:n=100sum=0counter=1whilecounter=n:sum=sum+countercounter+=1print(1到%d之和为:%d%(n,sum))Page11无限循环whileTrue:#表达式永远为truenum=int(input(输入一个数字:))print(你输入的数字是:,num)print(Goodbye!)可以使用CTRL+C来退出当前的无限循环。Page12while循环使用else语句在条件语句为false时执行else的语句块:count=0whilecount5:print(count,小于5)count=count+1else:print(count,大于或等于5)Page13for语句Pythonfor循环可以遍历任何序列的项目,如一个列表或者一个字符串。for循环的一般格式如下:forvariableinsequence:statementselse:statementsPage14一起练:Pythonloop循环1+2+…+n的for循环版本n=100sum=0forkinrange(1,n+1):sum+=kprint(sum)Page15练习请大家把这段代码就改成无限循环可以持续接收用户输入的n然后打印出1+…+n的值输出格式1+2+…+n=xxxxPage16range()函数如果需要遍历数字序列,可以使用内置range()函数。它会生成数列,例如:foriinrange(5):...print(i)range指定区间的值:foriinrange(5,9):print(i)Page17range以指定步长foriinrange(0,10,3):print(i)负数:foriinrange(-10,-100,-30):print(i)Page18range()+len()函数遍历一个序列a=['Google','Baidu',‘zust','Taobao','QQ']foriinrange(len(a)):...print(i,a[i])...0Google1Baidu2Runoob3Taobao4QQPage19break和continue语句break语句可以跳出for和while的循环体。从for或while循环中终止,任何对应的循环else块将不执行。Page20break实例forletterin‘zust':#第一个实例ifletter==‘u':breakprint('当前字母为:',letter)Page21continue用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。forletterin‘zust':#第一个实例ifletter==‘u':#字母为o时跳过输出continueprint('当前字母:',letter)Page22pass语句pass是空语句,是为了保持程序结构的完整性。pass不做任何事情,一般用做占位语句,如下实例whileTrue:...pass#等待键盘中断(Ctrl+C)最小的类:classMyEmptyClass:...passPage23pass语句实例forletterin‘Zust':ifletter==‘u':passprint('执行pass块')print('当前字母:',letter)Page24流程控制小结python没有switchpython没有dowhile代码块要求-用:开始-缩进必须有-结束缩进就结束了代码块Page25流程控制练习计算阶乘之和-1!+2!+3!+……+n!-n由用户从键盘输入-输入前给出适当提示本实验的基本操作是阶乘,会反复用到-能否将阶乘修改为单独一个函数,实现代码复用Page26一些参考结果1!=1,f(1)=12!=2,f(2)=33!=6,f(3)=94!=24,f(4)=339!=362880f(9)=40911321!=51090942171709440000f(21)=53652269665821260313Page27流程控制练习2设一个系统有8个按键,用某个整数表示其状态-位置示意76543210-以12为例,其2进制是00001100-表示只有2、3按键是按下的。现,持续从键盘输入整数(256)根据输入的整数判断按键按下状态,并输出,比如-输入5,输出“按键02按下”:二进制00000101-输入64,输出“按键6按下”:二进制01000000-输入0,输出“按键没有按下”:二进制00000000Page28运行效果思考:-如果输入的是字符呢?