1、第二单元 编程计算2.2 做出判断的分支教师:前情回顾前情回顾1.1.计算机解决问题的过程:对问题进行定性、定量的分析,然计算机解决问题的过程:对问题进行定性、定量的分析,然后设计算法,编写程序。后设计算法,编写程序。2.2.算法的表示:自然语言和流程图表示算法算法的表示:自然语言和流程图表示算法3.3.算法的三种基本结构:顺序结构、分支结构、循环结构算法的三种基本结构:顺序结构、分支结构、循环结构目录CONTENTS1教学目标2任务学习3课堂总结01教学目标教学目标教学目标计算思维计算思维了解顺序结构和分支结构的语句,掌握顺序结构和分支结构语句的一般格式和使用方法。熟练应用条件表达式,掌握i
2、f语句的语法格式。能用顺序结构和分支结构语句编写程序解决生活中的问题,提升逻辑思维能力,进一步体会算法及其思想。学习重点学习重点理解赋值、分支语句的工作原理;掌握赋值、分支语句的格式和使用方法。学习难点学习难点能够使用赋值、分支语句解决实际问题。02任务学习任务一 活动1 计算最适宜的运动心率 活动2 计算任意年龄与安静 心率的最适宜运动心率任务二 利用分支语句实现分性别计算课程导入课程导入小泽同学参加了学校体检,医生告诉他超重,需要加强运动,他了解到,运动心率如果控制到一定的范围,对身体有好处,超出范围,对身体有损伤。他想知道自己最适宜的心率!你能帮他计算最适宜的运动心率吗?任务一任务一 活
3、动活动1 1 计算最适宜的运动心率计算最适宜的运动心率该同学今年该同学今年1616岁,安静心率岁,安静心率7171最适宜运动心率最适宜运动心率=(220-220-年龄年龄-安静心率)安静心率)*(0.60.60.80.8)+安静心率安静心率第一步:分析问题第一步:分析问题第二步:设计算法(流程图)第二步:设计算法(流程图)第三步:编写程序第三步:编写程序第四步:调试运行第四步:调试运行思考:能否用上一节课学过的流程图表示出这一类问题的算法呢?活动活动1 1 设计算法设计算法常量常量:在程序运行过程中始终:在程序运行过程中始终保持不变的量保持不变的量称之为常量称之为常量比如:比如:220,0.6
4、220,0.6,圆周率,圆周率变量变量:在程序运行过程中在程序运行过程中允许允许改变的量称之为变量改变的量称之为变量比如:比如:low,highlow,high活动一 心率流程图150.8150.8177.4177.4 最适宜运动心率最适宜运动心率的的 范围范围是是150.8-177.4150.8-177.4 变量的命名规则变量的命名规则1.由字母、数字、下划线组成,并且以字母或者下划线开头。例如:name1是合法变量名,而1name就不可以。2.区分大小写。例如:A和a是不同的变量名3.不能使用保留字。(即高级语言中已经定义过的字,比如if,else等)实战演练实战演练下列合法的变量名是下列
5、合法的变量名是 ()A.34ab B.ab34 C.A.34ab B.ab34 C.*abc D.ifabc D.if运算符与表达式运算符与表达式 Python运算符包括赋值运算符、算术运算符、关系运算符、逻辑运算符、位运算符、成员运算符和身份运算符。表达式是将不同类型的数据(常量、变量、函数)用运算符按照一定得规则连接起来的式子。算术运算符算术运算符表达式表达式说明说明+x+y加法运算-x-y减法运算*x*y乘法运算*x*yx的y次方/x/y除法运算/x/y两数相除向下取整%x%y取模运算算术运算符和算术运算符和算术运算表达式算术运算表达式除除:不管是整数除法还是小数除法,结果均为浮点型(有
6、小数):不管是整数除法还是小数除法,结果均为浮点型(有小数)整除整除:不管是整数除法还是小数除法,不管是整数除法还是小数除法,商取整数位,只商取整数位,只要有浮点型,结果就要有浮点型,结果就为浮点型为浮点型(小数)(小数)比较除和整除比较除和整除赋值语句是任何程序设计语言中最基本的语句。赋值语句是任何程序设计语言中最基本的语句。功能:将右边表达式的值赋值给左边格式:功能:将右边表达式的值赋值给左边格式:变量变量=表达式表达式 操作试试操作试试赋值语句赋值语句其中:其中:a=a+c a=a+c 等同于等同于a+=ca+=ca=aa=a*c c等同于等同于a a*=c=ca=a-ca=a-c等同于
7、等同于a-=ca-=ca=a/ca=a/c等同于等同于a/=ca/=c活动活动1 1 计算最适宜的运动心率计算最适宜的运动心率设计算法low=(220-16-71)*0.6+71#计算最低适宜运动心率high=(220-16-71)*0.8+71#计算最高适宜运动心率print(low,high)#显示最适宜运动心率的范围编写程序最适宜心率因人而异每次都要修改程序很麻烦,可以怎样做呢?任务一任务一 活动活动2 2 计算任意年龄与安静心率的最适宜运动心率计算任意年龄与安静心率的最适宜运动心率程序结束输入年龄 age输入安静心率 HRrest计算最适宜运动心率的低值low=(220-age-HRr
8、est)*0.6+HRres计算最适宜运动心率的高值high=(110-age-HRrest)*0.8+HRrest输出最适宜运动心率的范围是 low-high程序的开始顺序结构顺序结构像上述这种自上而下依次运行的像上述这种自上而下依次运行的程序称之为顺序结构。程序称之为顺序结构。顺序结构是程序结构中最简单的顺序结构是程序结构中最简单的一种结构。一种结构。该结构的特点是按照语句的先后该结构的特点是按照语句的先后顺序依次执行,每条语句只执行一顺序依次执行,每条语句只执行一次。次。输入和输出语句输入和输出语句输入输入:input()函数:从标准输入读入一行文本,默认的标准输入是键盘。输出输出:pr
9、int()函数:向控制台输出一个或多个字符。例例1 1print(hell world,hello python,hello)print(18)print(10+8)print(10+8=,10+8)“hello”“hello”表示表示字符串,字符串,字符串就是字符串就是文本,文本,可以是可以是字母、数字字母、数字或或符号。符号。字符串与数字的区别在于字符串与数字的区别在于,字符串两端需加引号(,字符串两端需加引号(或或”“”“),输出时原),输出时原样显示引号中的内容。样显示引号中的内容。实战演练实战演练下列选项中属于字符串常量的是(下列选项中属于字符串常量的是()A Aab B.a+b C
10、.1235 D.1235ab B.a+b C.1235 D.1235数据类型数据类型pythonpython提供了提供了整数(int)、浮点数(float)、字符串(str)等常见的数据类型。等常见的数据类型。可以利用一些函数,可以利用一些函数,把数据从一种类型转换成另一种类型。float()float():根据一个字符串或整数创建一个新的浮点数根据一个字符串或整数创建一个新的浮点数(小数)小数)int()int():根据一个字符串或浮点数创建一个新的整数。根据一个字符串或浮点数创建一个新的整数。str()str():根据一个数(其他任何类型)创建一个新的字符串根据一个数(其他任何类型)创建一
11、个新的字符串函函 数数作作 用用int(x)int(x)将 x 转换成整数类型float(x)float(x)将 x 转换成浮点数类型str(x)str(x)将 x 转换为字符串任务二任务二 利用分支语句实现分性别计算利用分支语句实现分性别计算思考思考如何修改程序可以实现根据性别输出结果呢?最适宜运动心率是有最适宜运动心率是有性别性别差异的,差异的,男男=(220-220-年龄年龄-安静心率)安静心率)*(60%80%60%80%)+安静心率安静心率女女=(210-210-年龄年龄-安静心率)安静心率)*(60%80%60%80%)+安静心率安静心率任务二任务二 利用分支语句实现分性别计算利用
12、分支语句实现分性别计算1.gender=male:2.n=2103.low=(n-age-HRrest)*0.6+HRrest4.high=(n-age-HRrest)*0.8+HRrest5.最适宜运动心率的范围是:low-high分支语句分支语句程序中需要根据不同的条件判断来决定程序执行的走向时,可以使用程序中需要根据不同的条件判断来决定程序执行的走向时,可以使用ifif分支语句实现,分支语句实现,格式如下格式如下单分支ifif 条件:语句或语句组双分支ifif 条件:语句或语句组Aelse:else:语句或语句组B实战演练实战演练当飞船速度“v=7.91”时,输出“飞船成功飞行!”;否则
13、站“飞船不能升空!”。v=float(input(“请输入速度:”)if v=7.91:print(“飞船成功飞行!”)else:print(“飞船不能升空!”)关系运算符关系运算符分支语句的条件分支语句的条件“v=7.91v=7.91”,为,为关系表达式关系表达式,用,用关系运算符关系运算符连接起来的式连接起来的式子。常见的关系运算符有:子。常见的关系运算符有:运算符运算符=7.99=7.9,其值为,其值为True;23=24True;23=24,其值为,其值为FalseFalse。实战演练实战演练将下列代码补充完整,并调试运行将下列代码补充完整,并调试运行age=float(input(“
14、age=float(input(“请输入年龄请输入年龄=”)=”)HRrest=float(input(“HRrest=float(input(“请输入安静心率请输入安静心率=”)=”)gender=input(“gender=input(“请输入请输入malemale或或famale:”)famale:”)if if gender=male:gender=male:n=220n=220else:else:n=210n=210low=(n-age-HRrest)low=(n-age-HRrest)*0.6+HRrest0.6+HRresthigh=(n-age-HRrest)high=(n-a
15、ge-HRrest)*0.8+HRrest0.8+HRrestprint(“print(“最适宜运动的心率是最适宜运动的心率是:”,low,”,high):”,low,”,high)实战演练实战演练1.1.输入三角形输入三角形3 3条边的边长条边的边长(为简单起见,假设这为简单起见,假设这3 3条边可以构成三角条边可以构成三角形形),计算三角形的面积。提示,计算三角形的面积。提示:三角形面积三角形面积=sqrt(h(h-asqrt(h(h-a)(h-b)(h-b)*(h-c(h-c),),其中其中,a,a、b b、c c是三角形是三角形3 3条边的边长条边的边长,h,h是三角形周长的一一半是三
16、角形周长的一一半。import mathimport matha=float(input(a=float(input(请输人三角形的边长请输人三角形的边长a:)a:)b=float(input(b=float(input(请输人三角形的边长请输人三角形的边长b:)b:)c=float(input(c=float(input(请输人三角形的边长请输人三角形的边长c:)c:)h=(a+b+c)/2#h=(a+b+c)/2#三角形周长的一半三角形周长的一半area=math.sqrt(harea=math.sqrt(h*(h-a)(h-a)*(h-b)(h-b)*(h-c);#(h-c);#三角形三
17、角形面积面积print(str.format(print(str.format(三角形三边分别为三角形三边分别为:a=0,b=:a=0,b=(1,c=2,a,b,c)1,c=2,a,b,c)print(str.format(print(str.format(三角形的面积三角形的面积=0,area)=0,area)打印结果打印结果请输入三角形的边长请输入三角形的边长a:3a:3请输入三角形的边长请输入三角形的边长b:4b:4请输入三角形的边长请输入三角形的边长c:5c:5三角形三边分别为三角形三边分别为:a=3.0,b=4.0,c=5.0:a=3.0,b=4.0,c=5.0三角形的面积三角形的面
18、积=6.0=6.0实战演练实战演练2.2.生活中各地都有风景区、游乐场需要门票定价,根据游客年龄我们可以这生活中各地都有风景区、游乐场需要门票定价,根据游客年龄我们可以这样规定:小于样规定:小于3 3岁为免费,小于等于岁为免费,小于等于1818岁票价为岁票价为3030元,大于元,大于1818岁票价为岁票价为6060元。你元。你能根据这些规则设计程序进行门票定价吗?能根据这些规则设计程序进行门票定价吗?age=int(input(age=int(input(请输您的年龄请输您的年龄:):)if age 3:if age 3:price=0 price=0elif age 18:elif age
19、18:price=30 price=30else:else:price=60price=60print(print(您的门票价格为:您的门票价格为:+str(price)+str(price)+元。元。)调试运行调试运行错误的原因分析:没有使用代码缩进。小小提示小小提示Python中,不像其他程序设计语言采用大括号“”分隔代码块,而是采用代码缩进和冒号“:”区分代码之间的层次。缩进可以使用空格或者TAB键实现。其中,使用空格时,通常情况下采用4个空格作为一个缩进量,而使用TAB键作为一个缩进量,通常情况下建议使用空格进行缩进。在Python中,行尾的冒号和下行的缩进表示一个代码块的开始,而缩进
20、结束,则表示一个代码块的结束。分支语句分支语句-多分支选择语句多分支选择语句if if 条件表达式条件表达式1:1:语句块语句块1 1elif elif 条件表达式条件表达式2:2:语句块语句块2 2elif elif 条件表达式条件表达式3:3:语句块语句块3 3else:else:语句块语句块n n实战演练实战演练例:下表所示的感冒指数,根据输入的感例:下表所示的感冒指数,根据输入的感冒指数,输出该指数所对应的含义。请根冒指数,输出该指数所对应的含义。请根据学过的知识编写代码。(程序的代码如据学过的知识编写代码。(程序的代码如下)下)num=int(input(num=int(input(
21、请输入感冒指数:请输入感冒指数:)if 0=num=6:if 0=num=6:print(print(少发少发)elif 7=num=19:elif 7=num=19:print(print(较易发较易发)elif 20=num=30:elif 20=num=30:print(print(易发易发)elif 31=num=61:elif 31=num=61:print(print(极易发极易发)else:else:print(print(指数值不正确指数值不正确)03课堂小结课堂小结课堂小结 常量、变量(关系)运算符、(关系)表达式(值)常量、变量(关系)运算符、(关系)表达式(值)数据类型数
22、据类型float()float()、int()int()、str()str()赋值语句赋值语句 变量变量=表达式表达式 输入输入语句语句input()input()输出输出语句语句print()print()课后练习课后练习 完成课本上的拓展练习,巩固本节课的知识点;完成课本上的拓展练习,巩固本节课的知识点;PythonPython运算符包括赋值运算符、算术运算符、关系运算符、逻辑运算运算符包括赋值运算符、算术运算符、关系运算符、逻辑运算符、位运算符、成员运算符和身份运算符。自学并写成文档提交;符、位运算符、成员运算符和身份运算符。自学并写成文档提交;预习预习2.32.3周而复始的循环周而复始的循环好好学习天天向上