资源简介 (共54张PPT)第三章算法的程序实现1、python 语言程序设计2、简单算法及其程序实现学习目标123熟悉并会使用算术运算符、关系运算符、逻辑运算符、字符串运算符。4函数与模块If语句,顺序结构,循环结构等。熟悉Python数据类型与表达式,变量和赋值语句12重点难点重点:难点:函数与模块。If 语句,顺序结构,循环结构等。课堂导入Python是一种面向对象的程序设计语言,可以支持很多日常问题的程序实现,特别适合应用程序的快速开发。一、数据类型与表达式1 、python常见数据类型2、 python 算术运算符特别注意://(向下取整)所求结果往小取整,例如:-5//2= -3一、数据类型与表达式2、 python 关系运算符运算符 表达式 优先级 示例> a>b 1 5>2结果为True< a>= a>=b 1 5>=2结果为True<= a<=b 1 5<=2结果为False== a==b 2 5==2结果为False!= a!=b 2 5!=2结果为Truein a in b 2 2 in[3,4,5]结果为False一、数据类型与表达式手机有多少的传感器4、 python 逻辑运算符优先级:not>and>or一假全假一真全真(2>3)and(3<4)(2>1)and(3<4)(2>3)or(3<4)(2>1)or(3<4)(2>3)and 5(2>3)or 5falseturetureturefalse5一、数据类型与表达式5、 python 赋值运算符一、数据类型与表达式二、变量和赋值语句赋值语句:python中采用:“变量名=值、表达式”进行赋值。如:class=170;y=x+10变量:值可以进行变化的量。例如:name = 张三,name = 李四。name就是变量常量:值不能进行变化的量。例如:Π变量命名规则:在程序运行过程中变量的值是可以改变的。Python中的变量名可以由大小写字母、数字、下划线组成,不能以数字开头,字母区分大小写,不能使用保留字(例如:for、if、print、while、range、Python、int、str )。P71课堂练习1、在Python中,下面哪一行代码的输出结果不是hello2020( )A. print (“ hello2020” )B. print (“hello” +“2020” )C. print (“hello” + 2020)D. print (“hello” +str (2020) )C2、小杨同学在编写程序过程中给不同的变量取了名字,下列哪个变量名会导致程序运行出错( )。A. kk360 B. YaoC.51study D. xy_tt3、下列语句中,会导致程序运行出错的是( )A. x= (y=1) B. x, y=y, x C. x=1; y=1 D. x=y=1CA4、运行Python程序的过程中出现了如下图错误提示,原因是( )。51study= "chinese"File "",line 151study= "chinese"SyntaxError:Ginvalid syntaxA.变量名51study太长B.应该写成" chinese" = 51studyC.“chinese”应该写成“china's"D.变量名51study不符合python 语言规范,变量名不能以数字开头D5、在下面的python程序中,变量b和c的值为( )a=6a=b=c=8print(b,c)A.b为6,c为6 B.b为6,c为8C.b为8,c为8 D.b为8,c为6C6、Python表达式a=b中“=”表示( )A.交换“=”左右两边变量的值B.把“=”右边变量的值赋值给左边变量C.把“=”左边变量的值赋值给右边变量D.比较“=”左右两边变量的值是否相等B7、在Python中,print (int ( - 14//2* *2))的执行结果是( )A.-4B.-3C.4D.3A8、小明要把x个苹果平均分给n个同学,最后余下y个。以下Python 表达式正确的是( )。A. y=x//nB. y=x%nC.x=y+nD. y=x/nB第三章算法的程序实现1、python 语言程序设计2、简单算法及其程序实现列表元组集合字典字符串Python数据结构Python基本数据结构-字符串字符串的定义:“ ”或‘ ’括起来的一串字符, 标点符号也属于字符串索引:标号都是从0开始 格式:变量名[索引标号]str1=‘1234567’03Python基本数据结构-列表列表是有序可变序列,列表所有元素放在一对中括号“[ ]”中,并使用逗号隔开。info=[”BH60018”,”苹果”,50]访问单个元素:变量名[ 索引号]访问多个元素:变量名 [start : end : step]start表示起始位置索引,省略时表示包含end前的所有元素。end表示结束位置索引,但结果中不包含结束位置对应的元素。step表示是步长,默认为1,步长可以是正数也可以是负数,正数表示从左到右,负数表示从右到左。>> > info= ["BH60018", "苹果", 50]>> > info [2]50>> > S="Hello">> > s [1]‘e‘>> > info [0: 2:1][‘BH60018’, ‘苹果’]>> > s [1: 4:1]’ell'字典可包含多个元素,每个元素包含两部分内容:键和值。、所有键和值都放在{ }中。dic={键1:值1,键2:值2,...,键n:值n}dict = {‘姓名’: ‘小张’, ‘年龄’: 18, ‘班级’: ‘2班’},请问要得到字典中键为“年龄”的值的是 。Python基本数据结构-字典18常用内置函数输入输出:input( )、print( )类型转换: int( )、float( )、str( )绝对值:abs( )输入输出:input( )、print( )input( ):获取键盘输入的字符串数据print( ):输出程序运行结果类型转换: int( )、float( )、str( )int( ):将数据转换为整型float( ):将数据转换为实型str( ):将数据转换为字符串型思考:T= int( input( “输入数据:” )),T的数据类型是?课堂练习1、在Python中,如果s1 =“我爱我的祖国”,那么print (s1 [3])的运行结果是( )。A.我B.爱C.的D.国C课堂练习2、在Python中, 如果列表L2= [“云南”, 675000, “昆明”,321.45],那么print(L2 [1:3]) 的运行结果是( )A. [675000,‘昆明']B. [“云南”,‘昆明’]C. [675000,‘昆明’,321.45]D. [“云南”,675000, ‘昆明’]A课堂练习3、在Python中, 如果字典zd001 ={ “0871" :“昆明”, “0874”: “曲靖”,“0879”:“普洱”, “0887”:“ 迪庆”, 那么print (zd001 [“0874"]) 的运行结果是( )。A. 昆明B. 曲靖C. 普洱D. 迪庆B第三章算法的程序实现1、python 语言程序设计2、简单算法及其程序实现顺序结构的程序实现开始结束输入身高、体重计算BMI=体重/身高2输出BMIBMI是用于衡量身体健康状况的,BMI的计算方法为:体重除以身高的平方。分支结构的程序实现1、单分支if 格式If<条件表达式>:<语句A>2、双分支if……else格式If<条件表达式>:<语句A>else:<语句B>3、多分支if…elif….else格式If <表达式1>:<语句1>Elif<表达式2>:<语句2>…….Elif<表达式N>:<语句N>else:<语句N+1>单分支age = 10if age <= 20:print("oh!you are yong")双分支age = 10if age <= 20:print("oh!you are yong")else:print("oh!you are too old")多分支age = 16if age <= 2:print("oh!you are baby")elif 2< age <= 15print("oh!you are boy")elif 15< age <= 20print("oh!you are young")else :print("oh!you are old")划横线的地方是什么?有什么作用了?循环结构的程序实现for循环格式:for<变量>in<序列>:<循环体>while循环格式:while <条件>:<循环体>for循环格式:for<变量>in<序列>:<循环体>for x in [1, 2, 3, 4, 5]:print (“你好”)hobby= [1, 2, 3, 4, 5]for x in hobby:print (“你好”)for x in range(1,6,1):print (“你好”)编程计算1+2+3……+10s=0for x in range(1,11,1)s=s+xprint(x)编程计算1*2*3……*10s=1for x in range(1,11,1)s=s*xprint(x)思考一下:用编程计算下列问题1、1+2+3+4……+1002、1*2*3*……*1003、2+4+6+8+……1004、1+3+5+7+9……+100while循环格式:while <条件>:<循环体>只要…条件成立,就一直执行循环体i =1while i<5:print(“中国”)i =i + 1注释#注释内容"""注释内容"""#注释内容1#注释内容2'''注释内容'''课堂练习1、以下Python的注释代码,错误的是( )A. //Python 注释代码B.#Python注释代码1 #Python注释代码2C."""Pythonh 文档注释"""D. #Python注释代码A课堂练习2、在Python中,下列程序运行后会看到( )“*”for x in range(0,10,5):print(“*”,end=“ ”)A.2个 B.10个 C.5个 D.15个A课堂练习3、在Python中,在下列程序执行后,最后一行显示的数字是( )for mi in range(2,100,50):print(mi)A.2 B.52 C.150 D.102B课堂练习4、在Python中,下列程序运行后会看到( )个“*”for x in range(0,3):for y in range(0,4):print(“*”,end=“ ”)A.7个 B.9个C.6个 D.12个D课堂练习5、python的表达式s+=1与下列( )表达式效果相同A.1+S=S C.S=S+1B.S+1=S D.S=+1C课堂练习6、在Python中,下列程序运行后会看到( )个“你好”S=0while S<10:S=S+2print(“你好”)A.2个 B.1个 C.3个 D.5个D课堂练习7、在Python中,下列程序运行后会看到( )个“中国加油”。S=0while S<10:S=S+2print(“中国加油”)A.1个 B.5个 C.9个 D.10个A课堂练习8、在Python中, 下列程序运行后会看到最后一行显示的是( )。for sg in ["苹果","梨”,"香蕉",“猕猴桃"]:print(sg)A.0 B.香蕉C. 3 D.猕猴桃D课堂练习9、运行下列python程序后输出的结果是( )sum=1for i in range(1,5):sum=sum*iprint(sum,i)A.1 5 B. 5 1 C. 24 4 D. 24 5C10、关于下列Python代码,说法正确( )1 fruits=[‘apple’,’banana’,’pear’]2 print(‘Apple’ in fruits)A.变量fruits的数据类型是元组B.变量fruits中有三个元素,len(fruits)运算结果为3C.fruits[3]的元素是‘pear’D.上述Python代码运行结果是tureBBMI数值范围 BMI等级16.4以上23.2以下(包含23.2) 正常16.4以下(包含16.4) 低体重23.2以上26.3以下(包含26.3) 超重26.3以上 肥胖11. BMI (体重指数)是国际上常用的衡量健康程度的一个重要标准,其计算方法是:体重(单位:kg)除以身高(单位:m)的平方。高一男生BMI数值对应的等级,如下表所示,张老师根据该表,编写了Python程序实现:输入身高和体重,计算BMI 的值并判断BMI等级。程序代码如下所示,请完善程序。1 #计算BMI的值并判断BMI等级2 height=float(input('请输入你的身高(单位:m)'))3 weight=float(input('请输入你的体重(单位:kg)'))4 BMI= ______________________5 BMI=round(BMI , 1) # BM变量的数值保留1位小数6 print('你的体重指数是', BMI)7 if__________________________:8 print('BMI等级:低体重')9 elif BMI<=23.2:10 print('BMI等级:正常')11 elif BMI<=26.3:12 print('BMI等级:超重')13 else:14 print('BMI等级:肥胖')(1)程序第3行中float函数的功能是___________________________________(2)程序中第4行下划线处应填入_______________________________________(3)程序中第7行下划线处应填入_______________________________________将输入的数转化为小数Weight/height**2BMI<=16.4:12.百钱买百鸡问题百钱买百鸡问题记载与中国古代5-6世纪成书的《张丘建算经》中的一道经典不定方程组问题,其重要之处在于开创“一问多答”的先例,这是过去中国古算书中所没有的。其问题是这样的:今有鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,凡百钱买百鸡百只,问鸡翁、鸡母、鸡雏皆有,各几何。小亚利用循环结构进行问题求解,其中设公鸡。母鸡和小鸡的数量分别是x、y 、z同时符合如下两个条件:x+y+z=100和5x+3y+z/3=100,则问题有解,程序如下:for x in range(1,21):for y in range(1,34):for z in range(1,101):if x+y+z=100 and 5*x+3*y+z/3=100:print("公鸡",x,"母鸡",y,"小鸡",z)(1)该程序使用的算法是___________________(2)程序运行结束,第4行if语句一共执行了___________次枚举法20*33*100常见算法枚举法解析法递归法分治法小敏看到小亚的程序后,觉得可以修改部分代码,修改后的代码如下所示:for x in range(1,21):for y in range(1,34):z=100-x-yif 5*x+3*y+z/3=100:print("公鸡",x,"母鸡",y,"小鸡",z)(3)小敏的程序在运行结束后。第4行的if语句一共执行了________次。小敏的代码________(A.提高了 B.没有提高 C.降低了)程序的执行效率。20*33AThanks 展开更多...... 收起↑ 资源预览