2023-2024学年高一上学期教科版(2019)必修一2.4可以复用的代码

2024-08-08
| 13页
| 108人阅读
| 0人下载

内容正文:

2.4 可以复用的代码 一、选择题 1.在python中,range(10,0,-3)表示的范围是(   ) A.10,9,8,7,6,5,4,3,2,1 B.-3,0,3,6,9 C.10,7,4,1 D.10,7,4,1,-2 2.运行以下程序后,从键盘上输入654,则输出的结果是(    ) n=int(input("请输入一个整数:")) while n!=0: print(n%10,end="") n//=10 A.654 B.456 C.645 D.564 3.小曲同学在学习了Python中的字典数据类型之后,编写了用户通讯录管理程序,下面是程序的部分代码,关于这个程序说法错误的是(  ) A.定义的字典addressBook中,键是姓名,值是电话号码 B.在字典addressBook中,电话号码的数据类型是字符串 C.运行程序后输出结果为:|李明:|13523451234′,'张红':'13623213434'} D.程序第3行作用是将键李明'所对应的值修改为'13887653457' 4.有如下Python程序段: s=input() occ="" n=len(s) rk=ans=0 for i in range(n):        while rk < n and s[rk] not in occ:              occ+=s[rk]              rk+=1        ans=max(ans,rk-i)        occ=occ[1:] print(ans) 执行该程序段后,若输入字符串s的值为“ilovexuejun”,则输出ans的值为(    ) A.6 B.7 C.8 D.9 5.根据列表中元素大小关系,升序排列各元素的索引,并将排序后的索引保存在列表y中。如列表s为[23,15,7,8,66,2], 程序运行后得到列表y为[5,2,3,1,0,4]。 def sort   indices(s):     n =len(s)     y =[i for i in range(n)]     for i in range(① ):         for j in range(② ):             if ③ :                 y[j],y[j+1]=y[j+1],y[j]]     return y s=[23,15,7,8,66,2] y=sort_indices(s) print("各元素升序排列的序号: ",y) 完善以上程序,①②③三处代码依次是(   ) A.n  n-i  s[y[j]]>=s[y[j+1]] B.N  n-i  y[j]>=y[j+1] C.n-1  n-i-1  s[y[j]]>=s[y[j+1]] D.n-1  n-i-1  y[j]>=y[j+1] 6.若a=8,b=5,则print(a,"-",b,"=",a-b)语句的输出结果是(   ) A.a-b=3 B.8-5=3 C.a-b=a-b D.a-b=3 7.运行以下程序后,输出的结果是(   ) s=0 for i in[-1,2.-3,4,-51: s+=i print(s) A.5 B.6 C.-3 D.无法确定 8.执行如下程序段后,输出结果为(   ) s="AgZnNaFGaHfMg" elem=[] cnt=0 tmp=s[0] for ch in s[1:]:     if"A"<=ch<="Z":         elem.append(tmp)         cnt+=1         tmp=ch     else:         tmp+=ch print(cnt,elem[-1]) A.6 Mg B.7 Mg C.6 Hf D.7 Hf 9.在 Python 语言中,运行以下程序段后,输出的结果是(   ) L= [ 'a', 'b','c','d'] del (L [1]) print (L) A.['b','c','d'] B.['a','b','c'] C.['a', 'b','d'] D.['a','c','d'] 10.以下哪个Python代码片段正确实现了一个累加器模式(   ) A.total = 0; for i in range(5): total += i B.total = 1; for i in range(5): total *= i C.total = 0; for i in range(5, 0, -1): total -= i D.total = 1; for i in range(5): total /= i 11.某Python程序如下: p="A!@#$%^&amp;amp;*B" c="cra2edu" t="" for i in range(len(c)//2+1):     if i%2==0:         t=t+c[len(c)-i-1]     elif c[i]>="0" and c[i]<="9":         t=t+p[int(c[i])]     else:         t=c[i]+t print(t) 程序运行后,输出的结果是(   ) A.rue@ B.cda! C.ure@ D.arc! 12.某列表a=[1,2,3,4,5,6],下列方式中,不能正确获取数字5的是(    ) A.a[4] B.a[-2] C.a[4:5] D.a[4:][0] 13.在Python中,以下赋值语句的说法错误的是(   ) A.语句a , b=3表示将3同时赋值给变量a和b B.“=”表示将右边表达式的值赋给左边的变量 C.语句x,y =y,x可以实现变量x和y值的互换 D.c+= a等效于c=c+ a 14.在Python编程中,以下哪个函数用于计算一组数值的平均值(   ) A.sum() B.average() C.mean() D.avg() 15.列表a中有10个数据,用如下程序段找出大于60的数的个数,画线处可以填(   ) a=[35,23,98,43,86,31,29,57,62,78] n=θ m=6θ for i in a:     if :         n+= 1 print("个数: ",n) A.a[i]>m B.i>m C.a>m D.a(i)>m 16.有如下Python程序段: x=3 if x>=1:     x*=4 else:     x+=7 x/=2 print(x) 该程序段运行后,输出的结果为(   ) A.12 B.10 C.6.0 D.5.0 17.有如下Python程序段: import pandas as pd s1 = pd. Series (["学习", "运动", "睡觉", "吃饭"], index = ["01", "02", "03", "04"]) sl ["03"] = "休息" bm = s1. index sub = s1. values time = [40,90,79,30] num = [13,2,10,3] col = ["活动", "时长", "次数"] data = {"活动": sub, "时长": time,"次数": num} df1= pd. DataFrame (data, index = bm, columns = col) print (df1[df1 ["时长"]*df1["次数"]>120]) 运行该程序段,输出显示的结果为(    ) 活动时长次数 A. B. C. D. 二、填空题 18.在Python中,使用 可以一次性迭代字典中的键和值。 19.运行以下Python程序,结果是 。 list1=['a','b','c','d','e'] list2=['f','g','h','i','j'] i=1 while i <= 3:     i=i + 1 print(list1[i]+list2[i]) 20.编写Python程序时,下列表达式应写成( ) 21.函数的调用采用 的方式。 22.Python内置函数 可以返回列表、元组、字典、集合、字符串以及range对象中元素个数。 三、判断题 23.使用内置函数open()且以“w”模式打开的文件,文件指针默认指向文件尾。( ) 24.在Python中,print("abc" * 3)的执行结果是"abcabcabc"。( ) 25.在Python3.x语言中,input()函数的返回值类型是字符串。( ) 26.Python语言的变量名要区分英文字母的大小写。( ) 四、操作题 27.华氏度(℉):温度的一种度量单位。“华氏温标”是经验温标之一。寒暑表中通常有两个刻度:摄氏度(记为℃)和华氏度(记为℉)。包括我国在内的世界上很多国家都使用摄氏度,美国和其他一些英语国家使用华氏度而较少使用摄氏度。本程序实现的功能是当你输入输入cf表示摄氏转华氏,然后你输入的是摄氏温度值,并回车,根据换算公式就打印出华氏温度值。fc表示华氏转摄氏华氏温度。然后你输入的是华氏温度值,再回车,就可打印出对应的摄氏温度值。华氏度与摄氏度的换算: 华氏度 =  摄氏度 × 1.8+32 摄氏度 = (华氏度 - 32) ÷ 1.8 具体代码如下: action = input("输入转换方式")  # 输入cf表示摄氏转华氏,fc表示华氏转摄氏 data = ① (input("输入温度值")) if action == 'cf':     f = data * 1.8 + 32     print(f) else:     c = (② )/1.8     print(③ ) 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.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)。因此range(10,0,-3)的表示范围是10,7,4,1。故选C。 2.B 【详解】本题考查Python程序。程序中使用了input()函数获取用户输入的整数,并将其转换为整型数。接着使用while循环对输入的整数进行处理,循环条件为整数不等于0。在循环体内,使用取余运算符%获取整数的个位数,并使用end=""参数指定不换行输出。然后使用除法//将整数除以10,以去除个位数,继续下一次循环。最终输出的是输入整数的个位数、十位数、百位数……直到整数变为0。因此,要输入654,则输出的结果为456。故答案为:B。 3.C 【详解】本题考查Python字典相关内容。字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。字典的每个键值key-->value对用冒号:分割,每个对之间用逗号,分割,整个字典包括在花括号{}中,格式如下所示:d = {key1 : value1, key2 : value2 }。由图可知,字典addressBook中,键是姓名,值是电话号码,电话号码的数据类型是字符串,通过第3行代码,将'李明'所对应的值由'13523451234′修改为'13887653457',运行程序后输出结果为:{'李明':'13887653457','张红':'13623213434'},C选项错误。故本题答案是C选项。 4.B 【详解】本题考查Python程序。给定字符串“ilovexuejun”,我们需要找出不包含重复字符的最长子串,并输出其长度。程序使用了滑动窗口的方法,通过两个指针(i和rk)和一个临时字符串(occ)来实现。具体步骤如下:初始化:输入字符串s为“ilovexuejun”,occ为空字符串,n为字符串长度11,rk和ans都初始化为0。遍历字符串:对于每一个起始位置i,通过内循环移动rk指针找到最长的无重复字符子串,并更新occ和ans。内循环条件是rk未到达字符串末尾且字符s[rk]未出现在occ中。每次rk移动时,将当前字符s[rk]加入occ,并更新rk。内循环结束后,更新ans为当前最长无重复子串的长度rk-i。更新occ为去掉第一个字符的子串,为下一次迭代做准备。最后打印ans。根据以上过程,可知输出ans的值为:7。故答案为:B。 5.C 【详解】本题考查Python程序。冒泡排序外层循环次数是元素个数减1,所以①处应为n-1;内层循环开始范围是n-i-1,随着外层循环逐渐减小范围,所以②处为n-i-1;比较的是对应元素值的大小关系,应该是根据原始列表s中通过索引y对应的元素值来比较,即s[y[j]]>=s[y[j+1]],所以③处为s[y[j]]>=s[y[j+1]]。综上,正确答案是C。 6.B 【详解】本题考查的是Python输出函数。-、=用双引号,则原样输出;变量则输出其值;表达式则输出运算结果,故输出结果是:8-5=3。选B。 7.C 【详解】本题考查Python循环结构的应用。分析程序,可知该程序实现:s=0-1+2-3+4-5=-3。故选C。 8.C 【详解】本题考查Python程序设计相关内容。分析程序段,其功能是依次将'Ag', 'Zn', 'Na', 'F', 'Ga', 'Hf'添加到elem中,每添加1次,cnt加1(统计elem中元素个数),elem值为['Ag', 'Zn', 'Na', 'F', 'Ga', 'Hf'],cnt值为6,elem[-1]为Hf,故本题答案是C选项。 9.D 【详解】本题考查的是Python列表操作。列表索引号从0开始,del (L [1])表示删除索引号为0的元素。L= [ 'a', 'b','c','d'],del (L [1])将列表中'b'元素删除。最后L= [ 'a', 'c','d'],故选D。 10.A 【详解】本题考查Python代码。累加器模式是通过循环不断地将新的值加到一个总和变量上。选项A中,首先将total初始化为0,然后通过for循环遍历range(5)生成的0到4的数字序列,每次循环将当前的i值加到total上,实现了累加的功能。选项B是累乘,且初始值为1,但由于从0开始乘会导致结果为0。选项C是递减操作,不符合累加的要求。选项D是除法操作,也不符合累加的概念。故答案为:A。 11.A 【详解】本题考查Python程序。该程序使用循环和条件语句对字符串c进行处理,通过特定规则构建新的字符串t。规则如下:如果索引i是偶数,从字符串c的末尾取字符并追加到t中。如果索引i是奇数且字符是数字,则从字符串p中取对应索引的字符并追加到t中。如果索引i是奇数且字符不是数字,则将该字符插入到t的开头。经过程序的处理,最终输出结果是rue@。故答案为:A。 12.C 【详解】本题考查列表。列表a中,索引4对应的元素是5,A可以;索引-2对应的元素也是5,B可以;a[4:5]得到的是一个包含元素5的列表切片,而不是数字5本身,C不可以;a[4:]得到列表[5,6],再取其第一个元素就是5,D可以。所以答案是C。 13.A 【详解】本题考查Python赋值语句。在Python中,语句a,b=3并不会将3同时赋值给变量a和b。这种语法是错误的,实际运行时会引发ValueError,因为左侧有两个变量,右侧只有一个值,无法解包。正确的做法是分别给每个变量赋值,例如a=3和b=3,或者用a,b=3,3。故答案为:A。 14.C 【详解】本题考查Python函数。在Python中,mean()函数通常用于计算一组数值的平均值。故答案为:C。 15.B 【详解】本题考查Python程序。在这个程序段中,我们遍历列表a中的每个元素。for i in a这里的i依次表示列表a中的每个元素值。要找出大于60的数的个数,应该判断i是否大于60,即i>m。故答案为:B。 16.C 【详解】本题考查Python程序。x的初值为3,满足条件x>=1,因此先乘4,再除以2,除运算后产生实数值为6.0。故答案为:C。 17.B 【详解】本题考查的是程序调试与运行。根据最后一行语句可知,筛选的是时长和次数之积大于120的数据。根据倒数第二行语句可知,索引是bm,列标题是col。故本题应选B。 18.items() 【详解】本题考查Python基础。 在Python中,你可以使用items()方法一次性迭代字典中的键和值。items()方法返回一个包含字典中所有(键,值)对的视图对象。然后,你可以使用for循环遍历这个视图对象,从而在每次迭代中获取到一个键和对应的值。故正确答案为:items()。 19.ej 【详解】本题考查Python程序。首先,初始化list1=['a','b','c','d','e'],list2=['f','g','h','i','j'],i=1。然后进入while循环,条件是i<=3。第一次循环,i=1+1=2;第二次循环,i=2+1=3;第三次循环,i=3+1=4,此时循环结束。最后,输出list1[i]+list2[i],即list1[4]+list2[4],也就是'e'+'j',结果为'ej'。故答案为:ej。 20. x=(a-b)/(2*a) 【详解】本题主要考查Python表达式的运算。编写Python程序时,乘运算符是*,因此该表达式应写成x=(a-b)/(2*a)。 21.函数名(参数) 【详解】本题考查的是Python函数相关知识。函数的调用采用函数名(参数)的方式。 22.len() 【详解】本题考查的是Python函数相关知识。len()可以返回列表、元组、字典、集合、字符串以及range对象中元素个数。 23.错误 【详解】本题考查Python基础。 这个说法错误。当你使用内置函数open()以“w”模式打开一个文件时,文件指针默认是指向文件的开头,而不是指向文件尾。 24.正确 【详解】本题考查的是Python输出语句。*在字符串运算中表示重复。故print("abc" * 3)的执行结果是"abcabcabc"。题干说法正确。 25.正确 【详解】本题考查Python函数。input()函数用于从标准输入读取一行,并将其作为字符串返回。无论用户输入什么内容,input()函数返回的值始终是字符串类型。故说法正确。 26.正确 【详解】本题考查Python。Python语言的变量名是区分英文字母大小写的,这意味着在Python中,变量名var和Var被视为两个不同的变量。故说法正确。 27. float data-32 c 【详解】本题考查Python程序。 (1)使用float是为了将用户输入的温度值转换为浮点数类型。因为温度值可能包含小数部分,使用float可以更准确地处理包含小数的温度数值。故答案为:float。 (2)根据华氏度与摄氏度的换算公式,摄氏度=(华氏度-32)÷1.8。所以当进行华氏转摄氏的计算时,需要先将输入的华氏温度值减去32,即data-32。故答案为:data-32。 (3)在华氏转摄氏的计算中,经过前面的计算得到了摄氏温度值并存储在变量c中,所以最后打印的应该是计算得到的摄氏温度值,即c。故答案为:c。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

2023-2024学年高一上学期教科版(2019)必修一2.4可以复用的代码
1
2023-2024学年高一上学期教科版(2019)必修一2.4可以复用的代码
2
2023-2024学年高一上学期教科版(2019)必修一2.4可以复用的代码
3
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。