第三章 课时3 顺序结构及程序实现 教案 浙教版(2019)必修1(课件 学案 教案三份打包)

资源下载
  1. 二一教育资源

第三章 课时3 顺序结构及程序实现 教案 浙教版(2019)必修1(课件 学案 教案三份打包)

资源简介

课时3 顺序结构及程序实现
课时目标
1.理解顺序结构语句的执行过程。2.理解常用内建函数的功能,并能简单使用。
3.能编写简单程序解决实际问题。
1.顺序结构的程序代码执行方式为自上而下,按顺序逐步执行程序代码。
2.注释语句以#开头,在程序运行时不执行,注释语句的作用是对程序代码进行
说明。
3.顺序结构是最简单的程序结构,也是最常用的程序结构,按照解决问题的顺序写出相应的语句。顺序结构的难点在于把解决问题步骤转换成语句实现,要用到很多Python内建的函数,以及字符串、列表和字典的数据结构的灵活应用。
                
例1 有如下 Python 程序段:
s='HAPPY2023'
s=s[3:]+s[1:3]
print(s)
则输出 s 的结果是 (  )
A.PY2023AP B.HAPY2023
C.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%p2
print(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%10
t2=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=a
a=b
b=c
print("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>=y
print("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_len
print(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
答案 B
2.有如下 Python 程序段:
cy=["取长补短","一言为定","张灯结彩","坐井观天","风平浪静","张三李四"]
print(cy[2:5][1][3])
程序运行后,输出的结果是 (  )
A.["张灯结彩","坐井观天","风平浪静"]
B.["坐井观天"]
C.彩
D.天
答案 D
3.有如下 Python 程序段:
a,b,c=[1,2],[3,4],[5,6]
a=a+b
a.append(c)
运行该段代码后,a[-2]的值为 (  )
A.4 B.[3,4] C.5 D.[5,6]
答案 A
4.有如下 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)
运行程序后,输出的结果是    。
答案 2
5.有如下Python程序段:
x={'a':'b','c':'d'}
print('a' in x,'b' in x)
程序运行的结果为      。
答案 True False
解析 本题考查的是in操作。
6.有如下Python程序段:
x=2
y=3
x,y=y,x
print('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.14159
y=100
print(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=153
a=m∥100
b=m∥10%10
c=m%10
n=a**3+b**3+c**3
print(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.98
dic["葡萄"]=[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]}
答案 D
13.已知三角形的三边长度分别为a、b、c,可用海伦公式求解三角形的面积s,海伦公式为:
s=,其中p=。利用海伦公式求三角形面积,请回答下列问题:
(1)输入三角形三边长分别为3,4,5,下列赋值语句不正确的是 (  )
A.a,b,c=3,4,5
B.a=3
 b=4
 c=5
C.a=3,b=4,c=5
D.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%12
c=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
知识梳理
1
1.顺序结构的程序代码执行方式为自上而下,按顺序______执行程序代码。
2.注释语句以____开头,在程序运行时________,注释语句的作用是____________________。
3.顺序结构是最简单的程序结构,也是最常用的程序结构,按照解决问题的顺序写出相应的语句。顺序结构的难点在于把解决问题步骤转换成语句实现,要用到很多Python内建的函数,以及字符串、列表和字典的数据结构的灵活应用。
逐步
#
不执行
对程序代码进行说明
例题精析
2
例1 有如下 Python 程序段:
s='HAPPY2023'
s=s[3:]+s[1:3]
print(s)
则输出 s 的结果是(  )
A.PY2023AP B.HAPY2023
C.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%p2
print(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%10
t2=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,另外一个是数值,相乘得到结果。字典是无序的,调整字典中元素位置不影响程序的运行结果。根据键来找到相应的值。
随堂检测
3
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=a
a=b
b=c
print("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>=y
print("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_len
print(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.12
B
2.有如下 Python 程序段:
cy=["取长补短","一言为定","张灯结彩","坐井观天","风平浪静","张三李四"]
print(cy[2:5][1][3])
程序运行后,输出的结果是(  )
A.["张灯结彩","坐井观天","风平浪静"]
B.["坐井观天"]
C.彩
D.天
D
3.有如下 Python 程序段:
a,b,c=[1,2],[3,4],[5,6]
a=a+b
a.append(c)
运行该段代码后,a[-2]的值为(  )
A.4 B.[3,4] C.5 D.[5,6]
A
4.有如下 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)
运行程序后,输出的结果是    。
答案 2
5.有如下Python程序段:
x={'a':'b','c':'d'}
print('a' in x,'b' in x)
程序运行的结果为      。
答案 True False
解析 本题考查的是in操作。
6.有如下Python程序段:
x=2
y=3
x,y=y,x
print('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.14159
y=100
print(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=153
a=m∥100
b=m∥10%10
c=m%10
n=a**3+b**3+c**3
print(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.98
dic["葡萄"]=[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]}
D
13.已知三角形的三边长度分别为a、b、c,可用海伦公式求解三角形的面积s,海伦公式为:
(1)输入三角形三边长分别为3,4,5,下列赋值语句 的是 (  )
A.a,b,c=3,4,5
B.a=3
 b=4
 c=5
C.a=3,b=4,c=5
D.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%12
c=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.HAPY2023
C.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%p2
print(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%10
t2=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=a
a=b
b=c
print(″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>=y
print(″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_len
print(ans)
执行上述代码后,程序输出的结果为__________。

展开更多......

收起↑

资源列表