资源简介 2.4 可以复用的代码(同步练习)-高中信息技术教科版(2019)必修1一、填空题1.用户自定义函数是用户自己写的一段程序。一般包括______、______、______和______等四部分。其中______和______是必不可少的,______和______可根据需要进行定义。2.Python内置函数______可以返回列表、元组、字典、集合、字符串以及range对象中元素个数。3.Python内置函数______用来返回数值型序列中所有元素之和。4.函数的调用采用______的方式。5.函数执行完成后,由______将表达式的值返回给调用者,结束函数。6.调试程序。请阅读以下程序并写出运行结果。fruites=['banana','apple','mango']for fruit in fruites:print(fruit)a=len(fruites)print('a=',a)_________________二、操作题7.定义函数的基本def jiecheng(n):s=1 for i in range(2,n+1):s=s*i ___________abs=input(”请输入需求解的阶乘数n:”)total=___________print(total)8.统计英文文本中出现的不同单词个数:输入一段英文文本,要求单词和单词之间用1个空格或标点符号隔开,文末以标点符号结尾,在区分单词大小写的情况下,输出该文本中所出现的不同单词个数。Python程序运行界面如图所示。(1)实现上述功能的Python程序段如下,请在划线处填入适当的代码。text=input("请输入英文文本:")lst=[]s=""def judge(① _______): if st in lst: return False else: return Truefor i in range(len(text)): ②_______ if "a"<=c<="z" or "A"<=c<="Z": s=s+c else: if judge(s): lst.append(s) s=""print("出现的不同单词个数为:",len(lst))(2)运行程序时,若输入的英文文本为“Great hopes make great men”(不包括双引号),则输出的不同单词个数为_______。三、选择题9.编写Python程序求解51+52+53+……+100的和,程序代码如题图所示。则代码中①处应填入的数值是( )s=0 for i in range( ① ,101): s=s+i print(s)A.1 B.49 C.51 D.10010.在运行for循环语句程序时,没有错误提示但结果不对,此时应该检查( )A.for语句是否有冒号 B.循环语句是否存在逻辑错误C.for语句保留字是否正确 D.循环体语句是否正确缩进11.实现求1~100共100个数的和的程序如下:sum=0for i in _____________: sum+=i划线处应填入的代码为( )A.range(1,101) B.range(0,100) C.range(1,100) D.range(100)12.某python程序如下,程序运行完后,输出s2的值是( )s1="today"s2=""for c in s1:s2=c+s2print(s2)A.today B.yadot C.odayt D.tdyoa13.在Python语言中,运行以下代码,运行结果是( )sum= 1for j in range(1,5): sum= sum *jprint(sum,j)A.24,5 B.120, 5 C.24 ,4 D.120, 414.某python程序如下,程序运行完后,输出x的值是( )x=0for i in range(1,11,2):x+=iprint(x)A.9 B.16 C.25 D.3615.新高考改革学生可以自主决定科目组合。某校为了统计选物理学科人数,从而划分班级。现通过输入所有 n 名学生的选科情况,计算选物理学科的总人数。待补全程序代码如下:n = int(input("请输入学生总人数:"))sum = 0for i in range(①): t = input("输入选科编号:") if t == "": sum=②print("选物理学生人数为:",sum)下列正确答案是( )A.①应为 n ,②应为 sum+ 1 B.①应为 n+ 1 ,②应为 sumC.①应为 n ,②应为 i+1 D.①应为 n+ 1 ,②应为 t+116.有如下Python程序段:import randoma=[]for i in range(6): a.appendrandom.randintrandom.randint(1,10))for i in range(5): if i%2==0 and a[i] < a[i+1]: a[i],a[i+1]=a[i+1],a[i] else: a[i]-=1print(a)运行该程序后,输出结果不可能的是( )A.[7, 3, 3, 4, 9, 4] B.[8, 8, 10, 5, 7, 8] C.[9, 4, 9, 4, 8, 7] D.[7, 2, 9, 7, 4, 5]17.已知a="012345",b=["012",3,4,5],c={0:1,2:4,3:5},下列语句执行完毕后,s的值为5的是( )A.s=0 for i in a[5]: s=s+1 B.s=0 for i in range(b[2]): s=s+1C.s=0 while s<=c[2]: s=s+1 D.s=0 while s>c[3]: s=s+1A.A B.B C.C D.D18.下列程序运行后结果是( )sum=0for i in range(1,7,2): sum = sum+iprint(sum)A.4 B.7 C.9 D.16参考答案1.答案:函数名 参数 返回值 函数体 函数名 函数体 参数 返回值解析:2.答案:len()解析:3.答案:sum()解析:4.答案:函数名(参数)解析:5.答案:return语句解析:6.答案:bananaapplemangoa= 3解析:7.答案:Return s,jiecheng(abs)解析:8.答案:(1)st;c=text[i](2)4解析:本题考查Python程序。(1)在答题空1中,使用st来作为函数judge的参数,这是因为在程序的上下文中,我们正在处理文本中的每个字符,希望将字符构建成一个完整的单词。st在这里是一个代表正在构建的单词的字符串。故答案为:st。在答题空2中,使用c=text[i]来将当前循环迭代到的字符存储在变量c中。这是因为我们需要检查当前字符是否是字母(构成单词的一部分),或者是非字母字符(表示一个单词的结束或标点符号)。故答案为:c=text[i]。(2)入的英文文本 "Great hopes make great men" 中包含以下4个不同的单词:Great、hopes、make、men。在程序中,我们通过判断单词是否已经在 lst 列表中来记录不同的单词,然后最后输出 lst 的长度,即不同单词的个数为4。故答案为:4.9.答案:C解析:本题考查的是range函数。格式:range(起始值,结束值,步长),结束值不包含,步长可省略,默认为1。由题干“求解51+52+53+……+100”可知起始值为51,故本题应选C。10.答案:B解析:本题考查循环语句。当在运行for循环语句程序时,没有错误提示但结果不正确,通常表示存在逻辑错误,这意味着程序的控制逻辑不符合预期,导致循环的执行不如预期那样。因此,应该检查循环语句中的逻辑,包括循环条件、循环变量的变化、循环体内的操作等,以确定问题出在哪里,并进行适当的修正。故答案为B选项。11.答案:A解析:本题主要考查Python循环结构的应用。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。实现求1~100共100个数的和,因此循环条件是range(1,101),故本题选A选项。12.答案:B解析:本题考查Python程序执行。解题思路程序可知,该程序实现将字符串s1逆序保存到s2中,s1="today",因此程序运行完后,输出s2的值是yadot,故选B。13.答案:C解析:本题考查的是Python循环语句。range(1,5)生成1、2、3、4序列数,故sum=1*1*2*3*4=24,j的终值是4。选项C正确。14.答案:C解析:本题考查Python循环结构的应用。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。变量i依次取1、3、5、7、9,因此x=x+i=0+1+3+5+7+9=25,故选C。15.答案:A解析:本题考查的是Python循环语句应用。range(起始值,结束值,步长)结束值不包含,步长可省略,默认为1,起始值可以省略,默认为0;故①应为 n;输入的选科若为物理学科,则统计人数加1,sum存放的是选物理学科的人数,故②应为 sum+ 1。选项A正确。16.答案:A解析:本题考查的是循环语句。阅读程序可知,列表索引为偶数同时比后一个元素小时,交换两数;其余情况列表元素值减1。如果原来列表索引为偶数的值比后一个大,这两个数都是执行else,执行后索引为偶数的值还是大于后一个;如果原来列表索引为偶数的值等于后一个,这两个数都是执行else,执行后索引为偶数的值还是等于后一个(特例:当原来a[4]=a[5],由于第二个for变量取值到4,a[5]不减1,这时a[5]-a[4]=1);如果原来列表索引为偶数的值比后一个小,索引为偶数执行if语句(使得索引为偶数的值大于后一个),后一个执行else,执行后索引为偶数的值大于后一个。总上所述,程序执行结果肯定:a[0]>=a[1],a[2]>=a[3]。选项A中a[2]=3,a[3]=4不满足a[2]>=a[3]。故本题应选A。17.答案:C解析:本题考查Python循环结构的应用。已知a="012345",b=["012",3,4,5],c={0:1,2:4,3:5},a[5]="5",b[2]=4,c[2]=4,c[3]=5,选项运行结果依次是:1、4、5、0。故选C。18.答案:C解析:本题考查Python循环结构的应用。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。变量i依次取1、3、5,因此sum=sum+i=0+1+3+5=9。故选C。 展开更多...... 收起↑ 资源预览