文档描述
基本语句及顺序结构基本语句及顺序结构 选择结构选择结构 循环结构循环结构 转移和中断语句转移和中断语句 while.else与与for.else语句语句第3章 Python的基本流程控制参考书目Python 程序设计目录 基本语句及顺序结构基本语句及顺序结构 选择结构选择结构 循环结构循环结构 转移和中断语句转移和中断语句 while.else与与for.else语句语句这里说明图片内容 基本语句及顺序结构基本语句及顺序结构 选择结构选择结构 循环结构循环结构 转移和中断语句转移和中断语句 while.else与与for.else语句语句目录这里说明图片内容 基本语句及顺序结构1 基本语句1赋值语句用赋值号用赋值号(=)(=)将右边的值(表达式)赋给左边变量的语句。将右边的值(表达式)赋给左边变量的语句。name=李福age=182复合型赋值语句用复合运算符(包括算术复合运算符和位复合运算符)的赋值语句。用复合运算符(包括算术复合运算符和位复合运算符)的赋值语句。x,y=10,20序列赋值多目标赋值复合赋值x=y=z=20c+=a 基本语句及顺序结构2 顺序结构程序工作的一般流程为:数据输入、运算处理、结果输出。顺序结构是指为了解决某些实际问题,自上而下依次执行各条语句,其流程图如下:基本语句及顺序结构基本语句及顺序结构 选择结构选择结构 循环结构循环结构 转移和中断语句转移和中断语句 while.else与与for.else语句语句目录这里说明图片内容 选择结构1 if语句Python中使用if保留字来组成选择语句。if语句仅处理条件成立的情况,其流程图如下:if语句由if关键字、条件表达式和代码块三部分组成,它根据表达式的判断结果选择是否执行相应的代码块。if 表达式:语句块选择结构1 if语句if关键字可以理解为“如果”,当条件表达式的值为True时,则执行代码块。if语句使用过程中的常见错误:(1)if语句后面未加冒号。(2)使用if语句时,如果在符合条件时,需要执行多个语句,但是,在第二个输出语句的位置没有缩进。选择结构2 if-else语句如果遇到只能二选一的条件,例如,大学毕业是直接就业,还是考研深造。Python中提供了ifelse语句解决类似问题:if-else语句产生两个分支,如果if条件表达式结果为True,则执行代码块1;如果条件表达式结果为False,则执行代码块2。if 表达式:语句块1else:语句块2选择结构3 ifelifelse语句ifelifelse语句主要用于处理多种条件的情况,从而解决现实生活中复杂的多重选择问题,其流程如下:若条件表达式1的结果为True,则执行代码块1;若条件表达式2的结果为True,则执行代码块2,若else前面的条件表达式结果都为False,执行代码块n。if 表达式1:语句块Aelif 表达式2:语句块Belif 表达式3:语句块C选择结构3 ifelifelse语句如果只考虑一种表达式成立或不成立的结果(即没有elif分支),则多分支的if结构转化为双分支的if结构。在使用分支结构时,需要注意以下事项:1.表达式可以是任意类型,如53,x and yz,3,0等。其中,3表示恒真(即True),而0表示恒假(即False)。2.可以仅有if子句构成单分支结构,但是else子句必须与if子句配对,不能出现仅有else子句没有if子句的情况。选择结构4 分支语句嵌套当有多个条件需要满足并且条件之间有递进关系时,可以使用分支语句的嵌套。其中,if子句、elif子句以及else子句中都可以嵌套if语句或者ifelifelse子句。书写格式:嵌套的if语句要求以锯齿形缩进格式书写,以便分清层次关系。选择结构4 分支语句嵌套【例3-9】我国的婚姻法规定,男性22岁为合法结婚年龄,女性20岁为合法结婚年龄。因此如果要判断一个人是否到了合法结婚年龄,首先需要使用双分支结构判断性别,再用递进的双分支结构判断年龄,并输出判断结果。sex=input(请输入您的性别(M或者F):)age=int(input(请输入您的年龄(120):)if sex=M:if age=22:print(到达合法结婚年龄)else:print(未到合法结婚年龄)else:if age=20:print(到达合法结婚年龄)else:print(未到合法结婚年龄)运行结果:请输入您的性别(M或者F):F请输入您的年龄(120):28到达合法结婚年龄 基本语句及顺序结构基本语句及顺序结构 选择结构选择结构 循环结构循环结构 转移和中断语句转移和中断语句 while.else与与for.else语句语句目录这里说明图片内容 循环结构循环问题滲透在日常生活的方方面面,例如,学生上学,每天从宿舍到教室,往返于这两个点。类似这样反复做同一件事的情况,称为循环。重复一定次数的循环,称为计次循环 如for循环计次循环一直重复,直到条件不满足时才结束的循环while循环条件循环循环结构1 while语句while循环是通过一个条件来控制是否要继续反复执行循环体中的语句。While语句用于在满足循环条件时重复执行某件事情,其流程如下当表达式的值为真真时,执行相应的语句块语句块(循环体),然后再判断表达式的值判断表达式的值,如果为真,则继续执行语句块;当表达式的值为假假时,检查其后面是否有else子句,如果有,则执行else子句;如果没有,则直接跳出跳出whilewhile语句语句while 条件表达式:循环体循环结构1 while语句【例【例3-123-12】将】将“不忘初心不忘初心”输出输出3 3次。次。i=1while i 3等。循环体中的语句块有可能一次也不执行。语句块可以是一条或多条语句。程序中需要包含使循环结束的语句。循环结构2 for语句和range()内建函数for循环语句是一个计次循环,通常适用于枚举或遍历序列,以及迭代对象中的元素。一般应用在循环次数己知的情况下。迭代变量用于保存读取出的值:对象为要遍历或迭代的对象,该对象可以是任何有序的序列对象,如字符串、列表和元组等;循环体为一组被重复执行的语句for 迭代变量 in 对象:循环体循环结构2 for语句和range()内建函数 1进行数值循环利用数值循环输出3遍“不忘初心”:for i in 1,2,3:print(不忘初心)for循环常与内置函数range()range()函数函数搭配使用,以控制循环中代码段的执行次数。该函数语法格式为:语法格式如下:range(start,end,step)。【例】计算1+2+3+4+.+100的结果print(计算1+2+3+4+.+100的结果为:)result=0for i in range(1,101,1):result+=iprint(result)运行结果:计算1+2+3+4+.+100的结果为:5050循环结构2 for语句和range()内建函数2.遍历字符串【例】以遍历方式计算出“黑化肥发灰会挥发;灰化肥挥发会发黑”中“发”在字符串中出现的次数。word=黑化肥发灰会挥发;灰化肥挥发会发黑sum=0for letter in word:if letter=发:sum+=1print(sum)运行结果:4循环结构2 for语句和range()内建函数3.迭代对象从理论上来说,循环对象和for循环调用之间还有一个中间层,该层将循环对象转换可迭代对象。这一转换通过使用iter()iter()函数函数实现。但从逻辑层面上,常常可以忽略这一层,所以循环对象和可迭代对象常常相互指代对方。循环结构3 循环语句嵌套在Python中,允许在一个循环体中嵌入另一个循环,这称为循环嵌套。它在Python中,for循环和while循环都可以进行循环嵌套。while 条件表达式1:代码块1 .while 条件表达式2:代码块2.while循环中可以嵌套while循环for 临时变量 in 可迭代对象:代码块1 for 临时变量 in 可迭代对象:代码块2for循环也可以嵌套使用循环结构2 for语句和range()内建函数【例】编写程序,使用双重循环输出九九乘法表。for i in range(1,10):for j in range(1,i+1):d=i*j print(%d*%d=%-2d%(j,i,d),end=)print()基本语句及顺序结构基本语句及顺序结构 选择结构选择结构 循环结构循环结构 转移和中断语句转移和中断语句 while.else与与for.else语句语句目录这里说明图片内容 转移和中断语句当循环条件一直满足时,程序将会一直执行下去。如果希望在中间离开循环,也就是for循环结束计数之前,或者while循环找到结束条件之前。有两种途径来做到:使用break语句完全中止循环。使用continue语句直接跳到下一次循环转移和中断语句1 break语句break语句用于跳出离它最近一级的循环。1.在while语句中使用break语句while 条件表达式1:执行代码if 条件表达式2:break2.在for语句中使用break语句for 迭代变量 in 对象:if 条件表达式:break转移和中断语句2 continue语句continue语句用于跳出当前循环,继续执行下一次循环。1.在while语句中使用continue语句while 条件表达式1执行代码if 条件表达式2continue2.在for语句中使用break语句for 迭代变量 in 对象:if 条件表达式:continue当执行到当执行到continuecontinue语句时,程语句时,程序会序会忽略当前循环忽略当前循环中剩余中剩余的代的代码码,重新开始重新开始执行执行下一次循环下一次循环。转移和中断语句3 pass语句pass语句,表示空语句。它不做任何事情,一般起到占位作用。for i in range(10,20):if i%2=0:print(i,end=)else:pass运行结果:10 12 14 16 18【例】在应用for循环输出1020(不包括20)的偶数时,在不是偶数时,应用pass语句占个位置,方便以后对不是偶数的数进行处理。基本语句及顺序结构基本语句及顺序结构 选择结构选择结构 循环结构循环结构 转移和中断语句转移和中断语句 while.else与与for.else语句语句目录这里说明图片内容 while.else与for.else语句与别的编程语言不一样的是python还支持这样的语法:while.else与for.else语句。只要没有break或者return,不管while是否执行,都会执行else语句(continue也是可以执行else)。while.else与for.else语句1 while.else语句while.else类似于if.else,在python中while只要遇到了else就会意味到这个条件已经不在while循环运行了。【例】编写程序,随机产生骰子的一面(数字16),给用户三次猜测机会,程序给出猜测提示(偏大或偏小)。如果某次猜测正确,则提示正确并中断循环;如果三次均猜错,则提示机会用完。import randompoint=random.randint(1,6)count=1while count point:print(您的猜测偏大)elif guess age_old_boy:print(猜大了!)else:print(猜小了!)else:print(对不起,次数到了!)运行结果:请输入年龄:28猜小了!请输入年龄:56猜小了!对不起,次数到了!本章小结本章详细介绍了选择结构语句、循环结构语句、break和continue跳转语句以及pass语句的概念及用法。在程序中,语句是程序完成一次操作的基本单位,而流程控制语句是用于控制语句的执行顺序。要重点掌握if语句、while 语句和for语句的用法。思考与练习1.有一个三位整数,请你逆序输出它的各位数字。比如123输出为321。2.设计一个温度换算器,实现华氏度、摄氏度、开氏度之间的相互转换。其中,摄氏度=(华氏度-32)/1.8;华氏度=摄氏度*1.8+32;开氏度=摄氏度+273.15。3.输入一个整数,判断如果是奇数则显示奇数,否则显示偶数。4.输入一个整数,如果是整数则打印“正数”;如果是负数则打印“负数”;如果是零则打印“零”。5.输入出生年和月,然后计算出接下来的生日距离今天还有多少天。思考与练习6.输入一个年份,如果是闰年 则显示闰年,否则显示平年。7.设计一个收款程序,如果金额不足,提示还差多少钱;如果金额够,提示应找回多少钱。其中,如果总金额到达100元,打九折。8.输入一个季度,首先判断是否在14之间,然后判断该季度有哪几个月份,并显示该季度中的月份。9.输入一个月份,首先判断是否在112之间,然后判断返回该月份的天数。10.输入两个整数,一个作为开始值,一个作为结束值,然后输出中间的数字。11.编写随机加法考试程序。要求是随机产生两个数字,相加结果,总共10道题。如果输入正确成绩累加2分,如果输入错误成绩扣除5分。12.应用continue语句,计算累加1100 之间能被3 整除的整数和。
展开阅读全文