2.4可以复用的代码2024-2025学年高中信息技术教科版(2019)必修1

2024-08-11
| 12页
| 217人阅读
| 0人下载

资源信息

学段 高中
学科 信息技术
教材版本 高中信息技术教科版必修1 数据与计算
年级 高一
章节 2.4 可以复用的代码
类型 作业-同步练
知识点 Python语言基础
使用场景 同步教学-单元练习
学年 2024-2025
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 DOCX
文件大小 111 KB
发布时间 2024-08-11
更新时间 2024-08-11
作者 匿名
品牌系列 -
审核时间 2024-08-11
下载链接 https://m.zxxk.com/soft/46768468.html
价格 1.50储值(1储值=1元)
来源 学科网

内容正文:

2.4 可以复用的代码2024-2025学年高中信息技术教科版(2019)必修1 一、选择题 1.将数学关系式5≤x<14表示成Python表达式,正确的是(   ) A.5≤x<14 B.5≤x and x<14 C.x>=5 or x<14 D.x>=5 and x<14 2.有如下Python程序段: s = [3,5,2,7,4] m1 = m2 = s[0] i=1 while i<len(s):     if s[i] >= m1:         m2 = m1         m1 = s[i]     elif s[i] >= m2:         m2 = s[i]     i=i+1 print(m2) 执行上述程序后,输出的结果是(   ) A.7 B.5 C.4 D.3 3.使用列表lnk模拟链表结构,head为头指针,每个节点包括性别、身高和后续指针。原链表按先男生再女生升序排列(如图a所示),现要修改各节点的链接关系,使得链表按先女生再男生升序排列(如图b所示),实现该功能的代码如下: lnk=[["男",178,1],["男",180,2],["男",185,3],["女",160,4],["女",172,5],["女",174,-1]] head = 0 t = head pre = cur = lnk[head][2] while lnk[cur][2] ! = -1: if lnk[cur][0] == "男": pre = cur cur = lnk[cur][2] lnk[cur][2]=t 方框处应填入正确的代码为(    ) A. B. C. D. 4.不符合Python变量命名规则的是(   ) A.6ac B.BsFF C.a123 D.ABCD 5.有python程序段如下: s = input() k = 3 cnt = j = c = 0 for x in s: if ’0’ <= x <= ’9’: c = c * 10 + int(x) j += 1 else: if j >= k: cnt += c j = c = 0 print(cnt) 若输入“ab30cd201e2024fg002h”后运行该程序段,输出的结果为(    ) A.2024 B.2227 C.2225 D.2257 6.执行以下python程序,若输入的值是2,则输出的结果是(    ) a=int(input(    )) a=a**3 print(a) A.2 B.4 C.6 D.8 7.在Python语言中,下面程序段运行结果是(  ) a=1 s=0 for i in range(1,5): a=a*i s=s+a print(s) A.0 B.15 C.33 D.120 8.有Python程序代码如下: def MMin(a,b):     if a>b:         return b     else:         return a 下列选项中,函数调用有误的语句是(   ) A.k=MMin(3.1415,23) B.print(MMin('abgh','bc')) C.print(MMin(3,6,9)) D.k=MMin([3,2,3],[3,1,3,5]) 9.以下不能创建一个字典的语句是(   ) A.dict1 = {} B.dict2 = { 3 : 5 } C.dict3 = dict( [2 , 5] ,[ 3 , 4 ] ) D.dict4 = dict( ( [1,2],[3,4] ) ) 10.某DataFrame对象df,其columns属性值为["姓名","科目","成绩"]。下列语句中能将df对象中的数据按照“成绩”从大到小排序的是(   ) A.df.sort_values("成绩",axis=0,ascending=True) B.df.sort_values("成绩",axis=1,ascending=False) C.df.sort_values("成绩",ascending=False) D.df=df.sort_values("成绩",ascending=False) 11.小王同学写了Python程序,来判断一行诗是否为回文诗句,代码如下: s=input("请输入一句古诗:") if : print(s,"是回文诗!") else: print(s,"不是回文诗!") 加框处代码可替换为以下哪个选项,以实现相同功能(    ) A.s==s[len(s)-1:0:-1] B.s==s[-1:-len(s)+1:-1] C.s[:len(s)//2]==s[-1:(len(s)-1)//2] D.s[:len(s)//2]==s[-1:-(len(s)//2)-1:-1] 12.在函数print()中,括号里的参数不可以是(   ) A.字符串 B.变量名 C.表达式 D.文件名 13.列表q长度为20,q[0]至q[4]的值依次为'p','r','i','n','t',执行如下程序段后,输出的最后一个字符为(    ) head, tail= 0,5 while head<tail: if head %3 == 0: q[tail] = q[head] tail+=1 else: print(q[head]) head+= 1 A.t B.n C.i D.r 14.在Python中,若变量a=1;b=0;c=-1,下列选项中表达式的值与其他三项不同的是(   ) A.a>b or a>c B.b!=c and a==c C.b>c or(not a<c) D.a>b and b>c 15.在Python中,执行以下语句后,显示的结果是(   ) >>>x=3;y=12 >>>x+=1 >>>y//=x >>>x+y A.7 B.15 C.6 D.4 16.列表a中依次存放了8个数据,分别是[14,12,23,42,35,60,37,30],使用如下Python程序要找出小于25的数据的个数,选择恰当的表达式填入横线处(   ) a=[14,12,23,42,35,60,37,30] k=0 m=25 for i in range(0,8):     if :         k=k+1 print(k) A.a[i]>k B.a[i]>m C.a[i]<k D.a[i]<m 17.运行以下Python程序,结果为(   ) for i in range(5):     for j in range(i):         print(“*”,end=“”)     print() A. ***** ***** ***** ***** ***** B. ***** C. * * * * * D. * ** *** **** A.A B.B C.C D.D 18.在Python中,属于列表的是(   ) A.{1.2.3.4} B.(1,2,3.4) C.[1,2,3.4] D.1,2,3.4 19.某二分查找算法的Python程序段如下: i,j = 0,len(d)-1 while i <= j: m = (i+j)//2        # 语句① if key == d[m]: break elif key < d[m]: j = m-1 else: i = m+1 当d为[6,12,15,18,22,25,28,35,46]时,运行该程序段查找key,语句①的执行次数小于等于2;若将d修改为[6,12,15,18,22,25,28,35,46,58],重新运行该程序段,查找同一key值,则语句①的执行次数不可能为(   ) A.1 B.2 C.3 D.4 20.以下程序段定义的函数btoh接受一个4位二进制数的字符串,函数返回该二进制数对应的十六进制数: def btoh(b):     hs="0123456789ABCDEF"     s=0     for c in b:        s=s*2+int(c)     return 该程序段画线处应填入的代码为(    ) A.btoh B.btoh[s] C.hs[s] D.hs 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.D 【详解】本题主要考查Python表达式。逻辑运算符or两边值均为假时值才为假,否则值为真;逻辑运算符and两边值均为真时值才为真,否则值为假,not是取反。5≤x<14,表示x大于等于5且小于14,即x>=5 and x<14。故选D。 2.B 【详解】本题考查Python程序。s=[3,5,2,7,4],m1=m2=3,i=1进入while循环:i=1,s[i]=5,5>=3,所以m2=3,m1=5;i=2,s[i]=2,2<5,且2<3,不更新m1和m2;i=3,s[i]=7,7>=5,所以m2=5,m1=7;i=4,s[i]=4,4<7,且4<5,不更新m1和m2循环结束后,m2的值是5。故答案为:B。 3.C 【详解】本题考查Python程序。初始化链表:lnk是一个列表,模拟了链表结构,每个节点包括性别、身高和后续指针。head为头指针,t初始化为头指针指向的下一个节点,pre和cur初始化为链表的第二个节点。遍历链表:循环遍历链表,直到找到第一个男生节点,更新pre和cur的指针,pre始终指向上一个节点,cur指向当前节点。修改指针:一旦找到第一个男生节点,将当前节点的后续指针指向头指针,调整链表结构。这段代码的目的是在遍历链表时,找到第一个男生节点,并进行链表重排。判断条件t==head:如果t等于head,意味着遍历开始时,链表的第一个节点为男生。将head更新为当前节点cur(即第一个男生节点)。将上一个节点pre的后续指针设置为-1,表示新的链表结尾。否则cur=lnk[cur][2]:如果t不等于head,意味着链表的第一个节点为女生,继续更新当前节点cur。最终,链表将按女生节点在前、男生节点在后的顺序排列。故答案为:C。 4.A 【详解】本题考查Python基础。 Python中变量名的命名不能以数字开头,开头必须是字母或下划线。故正确答案为:选项A。 5.B 【详解】本题考查Python程序综合应用。分析程序,当字符串s中有3位数及以上时,将值c保存到cnt中,因此程序执行完,cnt=201+2024+002=2227。故选B。 6.D 【详解】本题考查Python程序。程序中的关键点是对输入值进行立方运算,然后输出结果。根据题目的设定,如果输入的值是2,那么程序执行的具体步骤如下:用户输入一个整数,假设输入为2。 程序将输入的值2进行立方运算:23=8。最后输出结果,即打印变量a的值,结果为8。故答案为:D。 7.C 【详解】本题考查Python基础。 该程序功能为:遍历产生1到4的数赋值给变量i,每次累乘i到变量a,累加a到变量s。故s=1+2+6+24=33。故正确答案为:选项C。 8.C 【详解】本题考查Python程序。print(MMin(3, 6, 9)),此处传入了三个参数,而函数MMin只接收两个参数。故答案为:C。 9.C 【详解】本题考查Python基础。 dict3 = dict( [2 , 5] ,[ 3 , 4 ] ):这里存在问题。dict()函数可以接受一个序列(通常是元组或列表的列表/元组)的序列,或者关键字参数来创建字典。然而,当使用序列的序列时,每个内部序列应该包含两个元素,分别作为键和值。此外,dict()的调用方式应该是dict([(key, value), ...]),即接受一个序列,该序列中的每个元素都是一个包含两个元素的序列(通常是元组或列表)。但在这个例子中,dict()被错误地传递了两个单独的列表作为参数,而不是一个列表的列表或元组,因此这是不正确的。故正确答案为:选项C。 10.D 【详解】本题考查Python基础。 利用sort_values函数进行排序时,将不会改变原有df对象中的数据,可将结果返回一个对象中来存放排序后的数据,降序排列需要将ascending参数设置为False,因此答案为D。 11.D 【详解】本题考查Python程序。要判断一个字符串是否为回文,需要比较字符串的前半部分和后半部分的逆序是否相等。我们分析各选项的含义:s==s[len(s)-1:0:-1]:这段代码从倒数第二个字符开始逆序到第一个字符,少比较了第一个字符和最后一个字符,错误。s==s[-1:-len(s)+1:-1]:这段代码从最后一个字符逆序到第二个字符,少比较了第一个字符,错误。s[:len(s)//2]==s[-1:(len(s)-1)//2]:这段代码将字符串前半部分和后半部分进行比较,但后半部分的索引不正确,错误。s[:len(s)//2]==s[-1:-(len(s)//2)-1:-1]:这段代码将字符串前半部分与后半部分的逆序进行比较,正确。因此,加框处代码可替换为D选项。故答案为:D。 12.D 【详解】本题考查Python函数。print()函数用于将指定的内容输出到控制台。在print()函数中,括号内的参数可以是字符串、变量名或表达式,用于指定要输出的内容。文件名不是print()函数的有效参数类型,因为print()函数不用于打开或处理文件,而是用于输出内容到控制台。故答案为:D。 13.B 【详解】本题考查程序分析。初始化head和tail,当head<tail时,进入循环操作。当head能被3整除,则复制q[head]到q[tail]中,tail+=1操作。否则输出q[head]。循环一次,head+=1操作一次。该程序运行输出过程为: head= 1 , tail= 6 , q[head]= r head= 2 , tail= 6 , q[head]= i head= 4 , tail= 7 , q[head]= t head= 5 , tail= 7 , q[head]= p head= 7 , tail= 8 , q[head]= n 故输出的最后一个字符为:n。故正确答案为:选项B。 14.B 【详解】本题考查Python运算符与表达式相关内容。A选项,a>b or a>c-->True or True-->True。B选项,b!=c and a==c-->True and False-->False。C选项,b>c or (not a<c)-->True or True-->True。D选项,a>b and b>c-->True and True-->True。故本题答案是B选项。 15.A 【详解】本题考查Python基础。x+=1,则x=4。y//=x,则y=3。x+y结果为7。故选择A。 16.D 【详解】本题考查Python程序设计相关内容。结合题目要求,分析程序段,若要找出小于25的数据的个数,可以对列表[14,12,23,42,35,60,37,30]进行遍历,逐一比较元素值与25的关系,若小于25(a[i]<m),则个数加1,故本题答案是D选项。 17.D 【详解】本题考查Python基础。 外循环i的取值为0、1、2、3、4。内循环根据i的值输出,功能为第i行输出i个星号。故正确答案为:选项D。 18.C 【详解】本题考查Python列表数据类型。Python中用[]方括号来表示列表,并用逗号分隔其中的元素。故选C。 19.C 【详解】本题考查Python程序设计相关内容。本题涉及到二分查找算法相关操作。分析程序段,推知: 数组d为[6,12,15,18,22,25,28,35,46]时,i=0,j=8,m=4,执行程序段,查找过程用二叉树表示如下: 语句①的执行次数小于等于2,该次数与key值在二叉树中的深度值一致,因此查找的数key可能是:22(1次查找)、12(2次查找)和28(2次查找)。若将d修改为[6,12,15,18,22,25,28,35,46,58],此时,i=0,j=9,m=4,查找过程用二叉树表示如下: 第一次查找的仍然是22,若往左查找,第二次是12。但若第二次往右查找,则找到的是35,而不是原先的28,然后继续第三次查找,找到25,接着进行第四次查找,找到28,此时查找过程结束。所以查找同一key值,则语句①的执行次数不可能为3,故本题答案是C选项。 20.C 【详解】本题考查Python函数。在函数btoh中,通过遍历二进制字符串b,将其转换为对应的十进制数s。而hs字符串中存储了十六进制的字符表示。所以要得到二进制对应的十六进制字符,应该使用hs[s],即从hs字符串中取出索引为s的字符。故答案为:C。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

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