资源简介 课时3 顺序结构及程序实现课时目标1.理解顺序结构语句的执行过程。2.理解常用内建函数的功能,并能简单使用。3.能编写简单程序解决实际问题。1.顺序结构的程序代码执行方式为自上而下,按顺序逐步执行程序代码。2.注释语句以#开头,在程序运行时不执行,注释语句的作用是对程序代码进行说明。3.顺序结构是最简单的程序结构,也是最常用的程序结构,按照解决问题的顺序写出相应的语句。顺序结构的难点在于把解决问题步骤转换成语句实现,要用到很多Python内建的函数,以及字符串、列表和字典的数据结构的灵活应用。 例1 有如下 Python 程序段:s='HAPPY2023's=s[3:]+s[1:3]print(s)则输出 s 的结果是 ( )A.PY2023AP B.HAPY2023C.PY2023HA D.HAPP2023答案 A变式训练1 有Python程序段如下,执行该程序段后,输出的结果是 ( )list1=[6,6,17,20,2,9]list2=[12,2,3,3,5]p1=max(list1)+len(list2)p2=list1[3]∥list2[3]ans=p1%p2print(ans)A.0 B.1 C.2 D.3答案 B解析 本题考查列表的应用和计算。p1的值为25,p2的值为6,因此ans为1。例2 公元1900年是鼠年,以后每12年一个轮回,生肖排列文本存储在变量中sx中(sx="鼠牛虎兔龙蛇马羊猴鸡狗猪"),如表所示。索引号 0 1 2 3 4 5 6 7 8 9 10 11值 鼠 牛 虎 兔 龙 蛇 马 羊 猴 鸡 狗 猪输入一个1900年以后出生的年份y(数值型),计算该年生肖。编写程序代码如下:sx="鼠牛虎兔龙蛇马羊猴鸡狗猪"y=int(input("输入年份")) print(sx[t])(1)请在程序划线处填入合适的代码。(2)对照上述算法,2016年出生的人所属生肖为 。 答案 (1)t=(y-1900)%12 (2)猴解析 本题考查的是解决实际问题的能力。任意数%12的范围是[0,11],生肖是以鼠年为基准,每12年一个轮回,因此输入的年份减去1900年,把这个差值除12的余数,就是当年生肖的位置。变式训练2 十天干与十二地支的组合,形成了六十甲子。输入一个年份year,该年份除10后的余数为0-9,分别对应的天干名称依次为"庚辛壬癸甲乙丙丁戊己",存储在变量tg中。除12后的余数分别对应的地支名称依次是"申酉戌亥子丑寅卯辰巳午未",保存在变量dz中。输入一个年份y(数值型),计算该年天干程序代码如下:y=int(input("输入年份"))tg="庚辛壬癸甲乙丙丁戊己"dz="申酉戌亥子丑寅卯辰巳午未"t1=y%10t2=y%12 print(str(y)+"年属于:"+result+"年")(1)请在程序划线处填入合适的代码。(2)按照上述算法,2020年对应的天干地支为 年。 答案 (1)result=tg[t1]+dz[t2]或result=tg[t1:t1+1]+dz[t2:t2+1] (2)庚子解析 本题考查的是解决实际问题的能力。根据题目含义,需要在tg和dz的t1、t2各获取一个元素。2020%10=0,2020%12=4,在字符串的索引为0和4的位置找到相应的值。例3 字典的应用。商品的代码、名称和价格分别存储在字典中,通过输入商品名称或代码及重量,计算金额。实现上述功能的程序代码如下所示。dict={"甘蓝":10,"小黄鱼":28,"虾仁":27,"牛肉":57,"1123":100}sp=input("输入商品名称")z1=int(input("输入商品重量")) print("金额为:"+str(je))(1)在程序划线处填入合适的代码。(2)程序运行时,分别输入1123和6,则输出的金额为 。 (3)修改dict的内容为dict={"虾仁":27,"牛肉":57,"1123":100,"甘蓝":10,"小黄鱼":28}, (填:是/否)会影响程序运行的结果。 答案 (1)je=dict[sp]*z1 (2)600 (3)否解析 学会调用字典元素的方法,dict[sp]表示在字典dict中,键为sp对应的值。输入1123和6,一个是文本类型的,代表键,找到相应的值为100,另外一个是数值,相乘得到结果。字典是无序的,调整字典中元素位置不影响程序的运行结果。根据键来找到相应的值。 1.某Python程序代码如下:sfz=input("请输入您的身份证号码:")year=int(sfz[6:10])month= day=int(sfz[12:14])print("您是的出生年月日是",year,"年",month,"月",day,"日!")程序运行后,输入"33018320050907002X"后,输出的结果为:您是的出生年月日是2005年9月7日!。将划线空白处的代码补充完整。答案 int(sfz[10:12])2.有如下Python程序段:a=int(input("please input a:"))b=int(input("please input b:"))c=aa=bb=cprint("a=",a,"b=",b)(1)执行上述代码时,分别输入3、5,输出结果为 。 (2)如果交换语句“a=b”和“b=c”的位置,则输出结果为 。 答案 (1)a=5 b=3 (2)a=3 b=3解析 本题考查的是顺序结构语句。本题的功能是交换变量a、b的值,因此,(1)输出结果为a=5 b=3。(2)交换语句“a=b”和“b=c”的位置,则a、b的值均变为原来a的值,即a=3 b=3。3.有如下Python程序段:a=int(input("please input a:"))b=int(input("please input b:"))x=pow(a,b)y=pow(b,a)ans=x>=yprint("ans=",ans)(1)程序运行时,输入a、b的值分别为3、4,程序段运行后,变量x的值为 ,变量y的值为 。 (2)程序段执行后,输出的结果为 。 答案 (1)81 64 (2)ans=True解析 本题主要考查的是pow函数及关系表达式。pow(x,y)函数的功能是返回x的y次幂,即x=pow(3,4)=81,y=pow(4,3)=64,因此,x>=y成立,ans=True。4.有如下Python程序段:dict1={"R":"red","G":"Green","b":"Blue"}dict1["y"]="Yello"dict1["b"]="Black"print(dict1)执行上述代码后,程序输出的结果为 。 答案 {"R":"red","G":"Green","b":"Black","y":"Yello"}解析 本题主要考查的是通过赋值语句修改字典。在字典操作时,如果关键字存在,则修改关键字对应的元素的值;如果关键字不存在,则在字典中增加一个新元素,即“关键字:值”对。语句dict1["y"]="Yello"的功能是增加一个新元素,语句dict1["b"]="Black"的功能是更新字典值,因此输出的结果为{"R":"red","G":"Green","b":"Black","y":"Yello"}。5.有如下Python程序段:List1=[11,13,9,5,8,7,6,14]List1_len=len(List1)ans=(max(List1)-min(List1))*List1_lenprint(ans)执行上述代码后,程序输出的结果为 。 答案 72解析 本题主要考查的是有关列表的内建函数。函数len(List1)的功能是返回列表框中元素的个数,即len(List1)=8;函数max(List1)的功能是返回列表中的最大值,即max(List1)=14,函数min(List1)的功能是返回列表中的最小值,即max(List1)=5,因此,ans=(max(List1)-min(List1))*List1_len=(14-5)*8=72。一、基础巩固 1.变量 x 的值为-3.14,y 的值为-8,执行语句 x=int(x)+abs(y),后 x 的值为 ( )A.4 B.5 C.11 D.12答案 B2.有如下 Python 程序段:cy=["取长补短","一言为定","张灯结彩","坐井观天","风平浪静","张三李四"]print(cy[2:5][1][3])程序运行后,输出的结果是 ( )A.["张灯结彩","坐井观天","风平浪静"]B.["坐井观天"]C.彩D.天答案 D3.有如下 Python 程序段:a,b,c=[1,2],[3,4],[5,6]a=a+ba.append(c)运行该段代码后,a[-2]的值为 ( )A.4 B.[3,4] C.5 D.[5,6]答案 A4.有如下 Python 程序段:info=[19,25,10,5,7,21,9,15]x=max(info);y=min(info);z=len(info)r=info[-5]s=(x-y)%(z-r)print(s)运行程序后,输出的结果是 。答案 25.有如下Python程序段:x={'a':'b','c':'d'}print('a' in x,'b' in x)程序运行的结果为 。 答案 True False解析 本题考查的是in操作。6.有如下Python程序段:x=2y=3x,y=y,xprint('x=',x,'y=',y)程序运行的结果为 。 答案 x=3 y=2解析 本题考查的是解读程序的综合能力。本程序的功能是交换变量x、y的值,因此,最终输出的结果为x=3,y=2。7.有如下Python程序段:x='a'print(chr(ord('a')-32))程序运行的结果为 。 答案 'A'解析 ord('a')的功能是求字母a的ASCII码,小写字母的ASCII码比对应的大写字母大32,可知代码chr(ord('a')-32)的功能是将小写字母a转换为大写字母A,因此,程序运行的结果为'A'。8.有如下Python程序段:x=3.14159y=100print(round(x*y,2))程序运行的结果为 。 答案 314.16解析 本题考查的是round函数。round(x*y,2)的功能是求x*y的值并只留两位小数。9.有如下Python程序段:List1=["apple","watermelon","coconut","orange","peach","lemon"]a=List1[2]b=List1[1]c=a[0:2]==a[2:4]该程序执行后,a的值为 ,b的值为 ,c的值为 。 答案 "coconut" False True解析 本题主要考查列表索引及切片的内容,字符串列表正索引从0开始,负索引从-1开始,切片是为前闭后开区间,故a="coconut",b="watermelon"<"coconut",字符串大小比较为第一个字符的ASCII码大小之比,若相同则比较下一个,故b值为False,c="co"=="co",结果为True.10.某Python程序段如下:m=153a=m∥100b=m∥10%10c=m%10n=a**3+b**3+c**3print(n)运行该程序段,输出结果是 。 答案 153解析 本题考查数的分离与组合问题的相关知识。将三位数拆成各位数字,再求出每位数字的立方和,该题属于容易题,来源于水仙花数问题。二、能力提升11.有如下Python程序段:s='3657'list1=['aa',123,'bb',56]list1[1:2]=s[1:3]print(list1)程序运行的结果是 。 答案 ['aa','6','5','bb',56]解析 本题考查的是列表操作。代码list1[1∶2]=s[1∶3]的功能是将列表list1中索引值为1和2的元素更改为字符串s中的索引值为1和2的值,因此程序运行后输出的结果为['aa','6','5','bb',56]。12.有如下Python程序段:dic={"苹果":[9.98,12.98],"香梨":[8.98,16.98]}dic["苹果"][1]=15.98dic["葡萄"]=[12.58,13.98]print(dic)该程序运行后输出的结果为 ( )A.{"苹果":[15.98,12.98],"香梨":[8.98,16.98]}B.{"苹果":[9.98,15.98],"香梨":[8.98,16.98]}C.{"苹果":[15.98,12.98],"香梨":[8.98,16.98],"葡萄":[12.58,13.98]}D.{"苹果":[9.98,15.98],"香梨":[8.98,16.98],"葡萄":[12.58,13.98]}答案 D13.已知三角形的三边长度分别为a、b、c,可用海伦公式求解三角形的面积s,海伦公式为:s=,其中p=。利用海伦公式求三角形面积,请回答下列问题:(1)输入三角形三边长分别为3,4,5,下列赋值语句不正确的是 ( )A.a,b,c=3,4,5B.a=3 b=4 c=5C.a=3,b=4,c=5D.a=3;b=4;c=5(2)为实现上述功能,请在程序划线处填入合适的代码。a=float(input("please input a:"))b=float(input("please in put b:"))c=float(input("please in put c:"))p=① s=② print("s=",s)答案 (1)C (2)①(a+b+c)/2 ②(p*(p-a)*(p-b)*(p-c))**0.5解析 (1)本题考查的是给变量赋值。B选项为最常规的赋值方法;AD选项的方法均可实现将3、4、5赋值给变量a、b、c,因此答案为C。(2)根据题意,p为周长的一半,因此,①处代码为(a+b+c)/2;s为三角形的面积,根据题中公式可得s=(p*(p-a)*(p-b)*(p-c))**0.5。14.天干地支,源自中国远古时代对天象的观测,十天干和十二地支依次相配,两者按固定的顺序搭配,组成天干地支纪年法。干支纪年一个周期第一年为“甲子”,第二年为“乙丑”,依此类推,60年一个周期。十二地支与十二生肖相配,是中国民间计算年龄的方法,如1984年为甲子年,生肖为鼠。已知年份的最后一位数字对应天干,用已知年份除以12,求得的余数代表地支。对应关系如下:数字 4 5 6 7 8 9 0 1 2 3天干 甲 乙 丙 丁 戊 己 庚 辛 壬 癸数字 4 5 6 7 8 9 10 11 0 1 2 3地支 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥生肖 鼠 牛 虎 兔 龙 蛇 马 羊 猴 鸡 狗 猪(1)按照上述算法,2022年对应的天干地支生肖为 。 (2)将程序划线处补全代码。year=int(input("请输入年份:"))#天干字典dic1={4:"甲",5:"乙",6:"丙",7:"丁",8:"戊",9:"己",0:"庚",1:"辛",2:"壬",3:"癸"}#地支字典dic2={4:"子",5:"丑",6:"寅",7:"卯",8:"辰",9:"巳",10:"午",11:"未",0:"申",1:"酉",2:"戌",3:"亥"}a=① b=year%12c=dic1[a]+② print("天干地支为:",c)#生肖字典,以地支为"键",以生肖为"值"dic3={"子":"鼠","丑":"牛","寅":"虎","卯":"兔","辰":"龙","巳":"蛇","午":"马","未":"羊","申":"猴","酉":"鸡","戌":"狗","亥":"猪"}print("生肖为:",③ ) (3)地支“子”对应的生肖应为“鼠”,修改字典dic3对应内容的语句为 。 答案 (1)壬寅虎 (2)①year%10②dic2[b] ③dic3[dic2[b]](3)dic3["子"]="鼠"解析 本题考查字典的综合应用。(1)通过对题干的解读可得2022最后一位为2,天干对应壬,除以12后余数为6,地支对应寅,因此答案为壬寅虎。(2)①解读程序可得c为天干地支连接起来的值,因此a表示天干,需要得到年份的最后一位,用year%10,②b为年份除以12的余数,用作访问字典dic2的键,因此答案为:dic2[b],③最后需要再加上生肖,dic2的值为访问dic3的键,因此答案为:dic3[dic2[b]]。(3)修改字典与新增的方法一样。(共42张PPT)课时3 顺序结构及程序实现第三章 算法的程序实现1.理解顺序结构语句的执行过程。2.理解常用内建函数的功能,并能简单使用。3.能编写简单程序解决实际问题。目 录CONTENTS知识梳理01例题精析02随堂检测03巩固与提升04知识梳理11.顺序结构的程序代码执行方式为自上而下,按顺序______执行程序代码。2.注释语句以____开头,在程序运行时________,注释语句的作用是____________________。3.顺序结构是最简单的程序结构,也是最常用的程序结构,按照解决问题的顺序写出相应的语句。顺序结构的难点在于把解决问题步骤转换成语句实现,要用到很多Python内建的函数,以及字符串、列表和字典的数据结构的灵活应用。逐步#不执行对程序代码进行说明例题精析2例1 有如下 Python 程序段:s='HAPPY2023's=s[3:]+s[1:3]print(s)则输出 s 的结果是( )A.PY2023AP B.HAPY2023C.PY2023HA D.HAPP2023A变式训练1 有Python程序段如下,执行该程序段后,输出的结果是 ( )list1=[6,6,17,20,2,9]list2=[12,2,3,3,5]p1=max(list1)+len(list2)p2=list1[3]∥list2[3]ans=p1%p2print(ans)A.0 B.1 C.2 D.3解析 本题考查列表的应用和计算。p1的值为25,p2的值为6,因此ans为1。B例2 公元1900年是鼠年,以后每12年一个轮回,生肖排列文本存储在变量中sx中(sx="鼠牛虎兔龙蛇马羊猴鸡狗猪"),如表所示。输入一个1900年以后出生的年份y(数值型),计算该年生肖。编写程序代码如下:sx="鼠牛虎兔龙蛇马羊猴鸡狗猪"y=int(input("输入年份")) print(sx[t])(1)请在程序划线处填入合适的代码。(2)对照上述算法,2016年出生的人所属生肖为 。 索引号 0 1 2 3 4 5 6 7 8 9 10 11值 鼠 牛 虎 兔 龙 蛇 马 羊 猴 鸡 狗 猪答案 (1)t=(y-1900)%12 (2)猴解析 本题考查的是解决实际问题的能力。任意数%12的范围是[0,11],生肖是以鼠年为基准,每12年一个轮回,因此输入的年份减去1900年,把这个差值除12的余数,就是当年生肖的位置。变式训练2 十天干与十二地支的组合,形成了六十甲子。输入一个年份year,该年份除10后的余数为0-9,分别对应的天干名称依次为"庚辛壬癸甲乙丙丁戊己",存储在变量tg中。除12后的余数分别对应的地支名称依次是"申酉戌亥子丑寅卯辰巳午未",保存在变量dz中。输入一个年份y(数值型),计算该年天干程序代码如下:y=int(input("输入年份"))tg="庚辛壬癸甲乙丙丁戊己"dz="申酉戌亥子丑寅卯辰巳午未"t1=y%10t2=y%12 print(str(y)+"年属于:"+result+"年")(1)请在程序划线处填入合适的代码。(2)按照上述算法,2020年对应的天干地支为 年。 答案 (1)result=tg[t1]+dz[t2]或result=tg[t1:t1+1]+dz[t2:t2+1] (2)庚子解析 本题考查的是解决实际问题的能力。根据题目含义,需要在tg和dz的t1、t2各获取一个元素。2020%10=0,2020%12=4,在字符串的索引为0和4的位置找到相应的值。例3 字典的应用。商品的代码、名称和价格分别存储在字典中,通过输入商品名称或代码及重量,计算金额。实现上述功能的程序代码如下所示。dict={"甘蓝":10,"小黄鱼":28,"虾仁":27,"牛肉":57,"1123":100}sp=input("输入商品名称")z1=int(input("输入商品重量")) print("金额为:"+str(je))(1)在程序划线处填入合适的代码。(2)程序运行时,分别输入1123和6,则输出的金额为 。 (3)修改dict的内容为dict={"虾仁":27,"牛肉":57,"1123":100,"甘蓝":10,"小黄鱼":28}, (填:是/否)会影响程序运行的结果。 答案 (1)je=dict[sp]*z1 (2)600 (3)否解析 学会调用字典元素的方法,dict[sp]表示在字典dict中,键为sp对应的值。输入1123和6,一个是文本类型的,代表键,找到相应的值为100,另外一个是数值,相乘得到结果。字典是无序的,调整字典中元素位置不影响程序的运行结果。根据键来找到相应的值。随堂检测31.某Python程序代码如下:sfz=input("请输入您的身份证号码:")year=int(sfz[6:10])month= day=int(sfz[12:14])print("您是的出生年月日是",year,"年",month,"月",day,"日!")程序运行后,输入"33018320050907002X"后,输出的结果为:您是的出生年月日是2005年9月7日!。将划线空白处的代码补充完整。答案 int(sfz[10:12])2.有如下Python程序段:a=int(input("please input a:"))b=int(input("please input b:"))c=aa=bb=cprint("a=",a,"b=",b)(1)执行上述代码时,分别输入3、5,输出结果为 。 (2)如果交换语句“a=b”和“b=c”的位置,则输出结果为 。 答案 (1)a=5 b=3 (2)a=3 b=3解析 本题考查的是顺序结构语句。本题的功能是交换变量a、b的值,因此,(1)输出结果为a=5 b=3。(2)交换语句“a=b”和“b=c”的位置,则a、b的值均变为原来a的值,即a=3 b=3。3.有如下Python程序段:a=int(input("please input a:"))b=int(input("please input b:"))x=pow(a,b)y=pow(b,a)ans=x>=yprint("ans=",ans)(1)程序运行时,输入a、b的值分别为3、4,程序段运行后,变量x的值为 ,变量y的值为 。 (2)程序段执行后,输出的结果为 。 答案 (1)81 64 (2)ans=True解析 本题主要考查的是pow函数及关系表达式。pow(x,y)函数的功能是返回x的y次幂,即x=pow(3,4)=81,y=pow(4,3)=64,因此,x>=y成立,ans=True。4.有如下Python程序段:dict1={"R":"red","G":"Green","b":"Blue"}dict1["y"]="Yello"dict1["b"]="Black"print(dict1)执行上述代码后,程序输出的结果为 。 答案 {"R":"red","G":"Green","b":"Black","y":"Yello"}解析 本题主要考查的是通过赋值语句修改字典。在字典操作时,如果关键字存在,则修改关键字对应的元素的值;如果关键字不存在,则在字典中增加一个新元素,即“关键字:值”对。语句dict1["y"]="Yello"的功能是增加一个新元素,语句dict1["b"]="Black"的功能是更新字典值,因此输出的结果为{"R":"red","G":"Green","b":"Black","y":"Yello"}。5.有如下Python程序段:List1=[11,13,9,5,8,7,6,14]List1_len=len(List1)ans=(max(List1)-min(List1))*List1_lenprint(ans)执行上述代码后,程序输出的结果为 。 答案 72解析 本题主要考查的是有关列表的内建函数。函数len(List1)的功能是返回列表框中元素的个数,即len(List1)=8;函数max(List1)的功能是返回列表中的最大值,即max(List1)=14,函数min(List1)的功能是返回列表中的最小值,即max(List1)=5,因此,ans=(max(List1)-min(List1))*List1_len=(14-5)*8=72。4巩固与提升基础巩固能力提升1.变量 x 的值为-3.14,y 的值为-8,执行语句 x=int(x)+abs(y),后 x 的值为 ( )A.4 B.5 C.11 D.12B2.有如下 Python 程序段:cy=["取长补短","一言为定","张灯结彩","坐井观天","风平浪静","张三李四"]print(cy[2:5][1][3])程序运行后,输出的结果是( )A.["张灯结彩","坐井观天","风平浪静"]B.["坐井观天"]C.彩D.天D3.有如下 Python 程序段:a,b,c=[1,2],[3,4],[5,6]a=a+ba.append(c)运行该段代码后,a[-2]的值为( )A.4 B.[3,4] C.5 D.[5,6]A4.有如下 Python 程序段:info=[19,25,10,5,7,21,9,15]x=max(info);y=min(info);z=len(info)r=info[-5]s=(x-y)%(z-r)print(s)运行程序后,输出的结果是 。答案 25.有如下Python程序段:x={'a':'b','c':'d'}print('a' in x,'b' in x)程序运行的结果为 。 答案 True False解析 本题考查的是in操作。6.有如下Python程序段:x=2y=3x,y=y,xprint('x=',x,'y=',y)程序运行的结果为 。 答案 x=3 y=2解析 本题考查的是解读程序的综合能力。本程序的功能是交换变量x、y的值,因此,最终输出的结果为x=3,y=2。7.有如下Python程序段:x='a'print(chr(ord('a')-32))程序运行的结果为 。 答案 'A'解析 ord('a')的功能是求字母a的ASCII码,小写字母的ASCII码比对应的大写字母大32,可知代码chr(ord('a')-32)的功能是将小写字母a转换为大写字母A,因此,程序运行的结果为'A'。8.有如下Python程序段:x=3.14159y=100print(round(x*y,2))程序运行的结果为 。 答案 314.16解析 本题考查的是round函数。round(x*y,2)的功能是求x*y的值并只留两位小数。9.有如下Python程序段:List1=["apple","watermelon","coconut","orange","peach","lemon"]a=List1[2]b=List1[1]c=a[0:2]==a[2:4]该程序执行后,a的值为 ,b的值为 ,c的值为 。 答案 "coconut" False True解析 本题主要考查列表索引及切片的内容,字符串列表正索引从0开始,负索引从-1开始,切片是为前闭后开区间,故a="coconut",b="watermelon"<"coconut",字符串大小比较为第一个字符的ASCII码大小之比,若相同则比较下一个,故b值为False,c="co"=="co",结果为True.10.某Python程序段如下:m=153a=m∥100b=m∥10%10c=m%10n=a**3+b**3+c**3print(n)运行该程序段,输出结果是 。 答案 153解析 本题考查数的分离与组合问题的相关知识。将三位数拆成各位数字,再求出每位数字的立方和,该题属于容易题,来源于水仙花数问题。11.有如下Python程序段:s='3657'list1=['aa',123,'bb',56]list1[1:2]=s[1:3]print(list1)程序运行的结果是 。 答案 ['aa','6','5','bb',56]解析 本题考查的是列表操作。代码list1[1∶2]=s[1∶3]的功能是将列表list1中索引值为1和2的元素更改为字符串s中的索引值为1和2的值,因此程序运行后输出的结果为['aa','6','5','bb',56]。12.有如下Python程序段:dic={"苹果":[9.98,12.98],"香梨":[8.98,16.98]}dic["苹果"][1]=15.98dic["葡萄"]=[12.58,13.98]print(dic)该程序运行后输出的结果为( )A.{"苹果":[15.98,12.98],"香梨":[8.98,16.98]}B.{"苹果":[9.98,15.98],"香梨":[8.98,16.98]}C.{"苹果":[15.98,12.98],"香梨":[8.98,16.98],"葡萄":[12.58,13.98]}D.{"苹果":[9.98,15.98],"香梨":[8.98,16.98],"葡萄":[12.58,13.98]}D13.已知三角形的三边长度分别为a、b、c,可用海伦公式求解三角形的面积s,海伦公式为:(1)输入三角形三边长分别为3,4,5,下列赋值语句 的是 ( )A.a,b,c=3,4,5B.a=3 b=4 c=5C.a=3,b=4,c=5D.a=3;b=4;c=5(2)为实现上述功能,请在程序划线处填入合适的代码。a=float(input("please input a:"))b=float(input("please in put b:"))c=float(input("please in put c:"))p=① s=② print("s=",s)答案 (1)C (2)①(a+b+c)/2 ②(p*(p-a)*(p-b)*(p-c))**0.5解析 (1)本题考查的是给变量赋值。B选项为最常规的赋值方法;AD选项的方法均可实现将3、4、5赋值给变量a、b、c,因此答案为C。(2)根据题意,p为周长的一半,因此,①处代码为(a+b+c)/2;s为三角形的面积,根据题中公式可得s=(p*(p-a)*(p-b)*(p-c))**0.5。14.天干地支,源自中国远古时代对天象的观测,十天干和十二地支依次相配,两者按固定的顺序搭配,组成天干地支纪年法。干支纪年一个周期第一年为“甲子”,第二年为“乙丑”,依此类推,60年一个周期。十二地支与十二生肖相配,是中国民间计算年龄的方法,如1984年为甲子年,生肖为鼠。已知年份的最后一位数字对应天干,用已知年份除以12,求得的余数代表地支。对应关系如下:数字 4 5 6 7 8 9 0 1 2 3天干 甲 乙 丙 丁 戊 己 庚 辛 壬 癸数字 4 5 6 7 8 9 10 11 0 1 2 3地支 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥生肖 鼠 牛 虎 兔 龙 蛇 马 羊 猴 鸡 狗 猪(1)按照上述算法,2022年对应的天干地支生肖为 。 (2)将程序划线处补全代码。year=int(input("请输入年份:"))#天干字典dic1={4:"甲",5:"乙",6:"丙",7:"丁",8:"戊",9:"己",0:"庚",1:"辛",2:"壬",3:"癸"}#地支字典dic2={4:"子",5:"丑",6:"寅",7:"卯",8:"辰",9:"巳",10:"午",11:"未",0:"申",1:"酉",2:"戌",3:"亥"}a=① b=year%12c=dic1[a]+② print("天干地支为:",c)#生肖字典,以地支为"键",以生肖为"值"dic3={"子":"鼠","丑":"牛","寅":"虎","卯":"兔","辰":"龙","巳":"蛇","午":"马","未":"羊","申":"猴","酉":"鸡","戌":"狗","亥":"猪"}print("生肖为:",③ ) (3)地支“子”对应的生肖应为“鼠”,修改字典dic3对应内容的语句为 。 答案 (1)壬寅虎 (2)①year%10 ②dic2[b] ③dic3[dic2[b]](3)dic3["子"]="鼠"解析 本题考查字典的综合应用。(1)通过对题干的解读可得2022最后一位为2,天干对应壬,除以12后余数为6,地支对应寅,因此答案为壬寅虎。(2)①解读程序可得c为天干地支连接起来的值,因此a表示天干,需要得到年份的最后一位,用year%10,②b为年份除以12的余数,用作访问字典dic2的键,因此答案为:dic2[b],③最后需要再加上生肖,dic2的值为访问dic3的键,因此答案为:dic3[dic2[b]]。(3)修改字典与新增的方法一样。课时3 顺序结构及程序实现课时目标1.理解顺序结构语句的执行过程。2.理解常用内建函数的功能,并能简单使用。3.能编写简单程序解决实际问题。1.顺序结构的程序代码执行方式为自上而下,按顺序________执行程序代码。2.注释语句以________开头,在程序运行时____________,注释语句的作用是____________________________。3.顺序结构是最简单的程序结构,也是最常用的程序结构,按照解决问题的顺序写出相应的语句。顺序结构的难点在于把解决问题步骤转换成语句实现,要用到很多Python内建的函数,以及字符串、列表和字典的数据结构的灵活应用。例1 有如下 Python 程序段:s='HAPPY2023's=s[3:]+s[1:3]print(s)则输出 s 的结果是A.PY2023AP B.HAPY2023C.PY2023HA D.HAPP2023听课笔记: 变式训练1 有Python程序段如下,执行该程序段后,输出的结果是( )list1=[6,6,17,20,2,9]list2=[12,2,3,3,5]p1=max(list1)+len(list2)p2=list1[3]∥list2[3]ans=p1%p2print(ans)A.0 B.1 C.2 D.3例2 公元1900年是鼠年,以后每12年一个轮回,生肖排列文本存储在变量中sx中(sx=″鼠牛虎兔龙蛇马羊猴鸡狗猪″),如表所示。索引号 0 1 2 3 4 5 6 7 8 9 10 11值 鼠 牛 虎 兔 龙 蛇 马 羊 猴 鸡 狗 猪输入一个1900年以后出生的年份y(数值型),计算该年生肖。编写程序代码如下:sx=″鼠牛虎兔龙蛇马羊猴鸡狗猪″y=int(input(″输入年份″))________________print(sx[t])(1)请在程序划线处填入合适的代码。(2)对照上述算法,2016年出生的人所属生肖为____________。听课笔记: 变式训练2 十天干与十二地支的组合,形成了六十甲子。输入一个年份year,该年份除10后的余数为0-9,分别对应的天干名称依次为″庚辛壬癸甲乙丙丁戊己″,存储在变量tg中。除12后的余数分别对应的地支名称依次是″申酉戌亥子丑寅卯辰巳午未″,保存在变量dz中。输入一个年份y(数值型),计算该年天干程序代码如下:y=int(input(″输入年份″))tg=″庚辛壬癸甲乙丙丁戊己″dz=″申酉戌亥子丑寅卯辰巳午未″t1=y%10t2=y%12________________print(str(y)+″年属于:″+result+″年″)(1)请在程序划线处填入合适的代码。(2)按照上述算法,2020年对应的天干地支为________年。例3 字典的应用。商品的代码、名称和价格分别存储在字典中,通过输入商品名称或代码及重量,计算金额。实现上述功能的程序代码如下所示。dict={″甘蓝″:10,″小黄鱼″:28,″虾仁″:27,″牛肉″:57,″1123″:100}sp=input(″输入商品名称″)z1=int(input(″输入商品重量″))________________print(″金额为:″+str(je))(1)在程序划线处填入合适的代码。(2)程序运行时,分别输入1123和6,则输出的金额为____________。(3)修改dict的内容为dict={″虾仁″:27,″牛肉″:57,″1123″:100,″甘蓝″:10,″小黄鱼″:28},________(填:是/否)会影响程序运行的结果。听课笔记: 1.某Python程序代码如下:sfz=input(″请输入您的身份证号码:″)year=int(sfz[6:10])month=________day=int(sfz[12:14])print(″您是的出生年月日是″,year,″年″,month,″月″,day,″日!″)程序运行后,输入″33018320050907002X″后,输出的结果为:您是的出生年月日是2005年9月7日!。将划线空白处的代码补充完整。2.有如下Python程序段:a=int(input(″please input a:″))b=int(input(″please input b:″))c=aa=bb=cprint(″a=″,a,″b=″,b)(1)执行上述代码时,分别输入3、5,输出结果为____________。(2)如果交换语句“a=b”和“b=c”的位置,则输出结果为____________。3.有如下Python程序段:a=int(input(″please input a:″))b=int(input(″please input b:″))x=pow(a,b)y=pow(b,a)ans=x>=yprint(″ans=″,ans)(1)程序运行时,输入a、b的值分别为3、4,程序段运行后,变量x的值为________,变量y的值为________。(2)程序段执行后,输出的结果为________。4.有如下Python程序段:dict1={″R″:″red″,″G″:″Green″,″b″:″Blue″}dict1[″y″]=″Yello″dict1[″b″]=″Black″print(dict1)执行上述代码后,程序输出的结果为__________。5.有如下Python程序段:List1=[11,13,9,5,8,7,6,14]List1_len=len(List1)ans=(max(List1)-min(List1))*List1_lenprint(ans)执行上述代码后,程序输出的结果为__________。 展开更多...... 收起↑ 资源列表 课时3 顺序结构及程序实现 学案 浙教版(2019)必修1.doc 课时3 顺序结构及程序实现 教案 浙教版(2019)必修1.doc 课时3 顺序结构及程序实现 课件(共42张ppt)浙教版(2019)必修1.pptx