3.2Python语言程序设计同步作业2024—2025学年高中信息技术浙教版(2019)必修1

2024-08-09
| 15页
| 110人阅读
| 1人下载

内容正文:

3.2 Python语言程序设计 一、选择题 1.在Python语言中,数据的输出是通过(   )来实现的。 A.input()函数 B.print()函数 C.output()函数 D.abs()函数 2.已知a="python",则a[1]的值为(  ) A."p" B."py" C."python" D."y" 3.以下选项中,不属于函数的作用的是(   ) A.提高代码执行速度 B.复用代码 C.增强代码可读性 D.降低编程复杂度 4.已知x=20,y=21,以下表达式的计算结果为True的是(   ) A.x>=y-1 or (x+1)!=y B.not (x<=y) C.x<y-1 and x-1==y D.x>y-2 and x! =y-1 5.某DataFrame对象df共包含5个数据列、200个数据行,其中第2列为“单位”列,下列语句中能读取df对象中“单位”列所有数据的是(    ) A.df. columns[1] B.df["单位"] C.df[单位] D.df. "单位" 6.有如下程序段: def f(x):     for i in b:         if x==i:             return True     return False a=[2,0,9,3,10] b=[10,9,16,2,7] for i in a:     if f(i):         cnt+=1 print(cnt) 程序执行后的输出结果是() A.1 B.2 C.3 D.4 7.列表a中各元素a[0]到a[4]的值依次为9,2,5,1,3,若分别执行如下两段程序,则数据交换次数分别是(    ) for i in range(1,len(a)-1): for j in range(1,len(a)-i): if a[j-1]>a[j]: a[j],a[j-1]=a[j-1],a[j] for i in range(len(a)-1,1,-1): for j in range(len(a)-1,len(a)-i,-1): if a[j-1]>a[j]: a[j],a[j-1]=a[j-1],a[j] A.1和3 B.5和5 C.5和3 D.7和7 8.运行以下Python程序段,输出结果是(  ) List=["图书",67,"100","借出",78] print(List[2]) A.67 B.图书 C.100 D.借出 9.某停车场的收费标准为“30分钟内(含)免费,3小时内(含)5元,超过3小时每增加1小时加收1元,停车不足1小时的按1小时计算。”已知停车时长为t分钟,则下列Python程序段中不能正确计算停车费m的是(   ) A.   B. C. D. 10.某对分查找的 Python程序如下: s=[9,12,25,39,43,55,61,72,88,97] i=0;j=len(s)-1;t=0 key=int(input()) while i<=j: m=(i+j+1)//2 if s[m]>key: j=m-1; t=t+1 else: i=m+1; t=t*2 print(t) 当输入不同的 key值时,运行程序后,输出的结果不可能是(   ) A.5 B.4 C.3 D.2 11.有如下 Python 程序段: s = "62bd5pjlm28" max = t = "" for i in  range(len(s)):      if "0" <= s[i] <= "9":             t = s[i] + t      else:             if t > max:                     max = t             t = "" 执行该程序段后,变量 max 的值为(   ) A.62 B.5 C.82 D.526 12.如图所示的车牌,经过如下Python程序处理后,“cp.txt”文件得到的效果是(    ) from PIL import Image f=open(“cp.txt”,“w”)            #以写入模式打卡“cp.txt”文件 im=Image.open(“cp.jpg”) im=im.convert(“L”) im=im.resize((90,21))            #将图片尺寸大小修改为90*21 pix=im.load()                    #读取所有像素点的颜色值 for j in range(im.size[1]):    ans=“”    for i in range(im.size[0]):       if pix[i,j]>=128:          r=“*”       else:          r=“”       ans+=r    ans=ans+“\r ”                    #“\r ”表示回车换行    f.write(ans) f.close() A. B. C. D. 13.脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成。构成DNA的碱基共有 4 种,分别为腺嘌呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。在两条互补碱基链的对应位置上,A总是和T配对,G总是和C配对。编写Python程序实现如下功能: 随机产生一条单链上的碱基序列,输出其对应的互补链上的碱基序列。(  ) import random DNA=['A','G','T','C'] s='' for i in range(20): ① print(s) match={'A':'T','T':'A','G':'C','C':'G'} t='' for i in range(20): ② print('互补链:',t) A.①s=random.choice()+s    ②t= t+match[i] B.①s=s+random.choice(DNA)   ②t= t + match[s[i]] C.①s=s+random.choice()    ②t= t + match[s[i]] D.①s=random.choice(DNA)+s  ②t= t + match[i] 14.列表q长度为20,q[0]到q[7]的值依次为'a','b','c','a','c','d','d','e'执行如下程序段后,输出的结果为(   ) head=tail=0 for i in range(8): if q[i]==q[head] and head!=tail: tail+=1 head=tail else: tail+=1 print(q[head:tail]) A.cdde B.acdde C.eddc D.e 15.有如下Python程序段: a=['1','14','5141','91','9810'] key=input() i=0;j=len(a)-1 while i<=j:        m=(i+j)//2        if a[m]==key:            break        elif a[m] < key:            i=m+1        else:            j=m-1 b='' for i in range(len(a[m])):        b+=chr(ord(a[m][i])-49+97) print(b) 已知ord(‘a’)的值为97,ord(‘1’)的值为49,若输入的key值为“1919810”,则程序运行后输出为(     ) A.aadead B.114514 C.1919810 D.ad 16.有如下Python程序段: from random import randint s=[60,40,70,20,10,50] m=randint(1,3)*2 for i in range(6, m,-1):    for j in range(5,i,-1):       if s[j-1]>s[j]:          t=s[j]          s[j]=s[j-1]          s[j-1]=t print(s) 该程序段执行后,输出的结果可能是(  ) A.[60,40,70,20,10,50] B.[10,60,40,70,20,50] C.[10,20,60,40,70,50] D.[10,20,40,50,60,70] 17.有如下Python程序段: s=input("请输入一个仅由小写英文字母组成的字符串:") st=[""]*len(s);top=-1 t=[-1]*26 for i in range(len(s)):     id=ord(s[i])-97     if t[id]==-1:         top+=1         st[top]=s[i]         t[id]=top     else:         first=t[id]         while top>=first and top!=-1:             num=ord(st[top])-97             t[num]=-1;top-=1 print(st[:top+1]) 若从键盘输入的值为"hellopython",则输出的值为(    ) A.['o','n'] B.['h','e','n'] C.['h','e','l','o','p','y','t','n'] D.['h','e','o','p','y','t','h','o','n'] 二、填空题 18.Python关键字elif表示 与 两个单词的缩写。 19.学校为了能在充分了解学生需求的基础上开设选修课程,需要搭建一个“选修意愿登记系统”,用于收集学生的自主选择意愿情况。为了与学校实际情况匹配,在这个系统中允许学生从暂设的六个课程门类(艺术类、运动类、文史类、语言类、科学类、设计类等)中选择3门作为选修意愿。请协助小中一起规划设计、搭建这个小型的信息系统。小申选用了Flask模块作为服务器端的服务框架。若图交互界面中“提交”按钮的请求目标为“/create”,请在服务器端主控程序中与之关联的路由函数的横线处填空。 @app.route(" "methods='GET','POST') 20.下面程序的运行结果为: , s=0 for  i  in  range(1,101):     s+=i     if  i == 50:         print(s)         break 21. 模块用于科学计算(随机数、数组运算等); 模块基于numpy实现,主要用于数据的处理和分析; 用于绘图库。 22.程序运行后,从键盘输入781,结果是 x=int(input("请输入一个正整数:")) if x%2==0:     print(x,"是偶数.") else:     print(x,"是奇数.") 三、判断题 23.在Python程序中,数据的输入与输出是通过函数来实现的( ) 24.在Python语言中,表达式(2>4)and(8>9)的结果是True。( ) 25.不能用for 、in、if等关键字作为变量名。( ) 26.计算机程序能重复使用。( ) 27.实时获得鼠标的状态并对鼠标单击做出正确的响应,只有不断地进行监听、更新游戏状态、重绘屏幕三个步骤的操作。    ( ) 四、操作题 28.一种细菌的繁殖速度是每天成倍增长。例如,第一天有10个,第二天就变成20个,第三天变成40个……输入繁殖天数,输出细菌总量。 n=① (input("请输入繁殖天数")) s=10#细菌个数初值 s=10*2**(② ) print("细菌总量为:",③ ) 29.某解压算法描述如下:数据用数字段和字母段组成,数字段的数值代表字母段的重复次数。例如:字符串3R2GA10B,用该解压算法解压后为RRRGAGABBBBBBBBBB表示。python程序如下: s=input("输入一个字符串:") while not("0" <=s[0]<="9") or "0" <=s[len(s)-1]<="9": print("输入数据错误,请重新输入") s=input("输入一个字符串:") m=0;n="";ss="" for i in range( ): if "0" <=s[i]<="9": else: n=n+s[i] if i <=len(s)-2 and if "0" <=s[i+1]<="9": m=0 n="" ss=ss+m*n    #④ print(ss) (1)在程序划线处填入合适的代码。 (2)若删除④处语句,输入字符串 3R2GA10B,输出的内容是 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.B 【详解】本题主要考查Python常见函数。input( )是数据输入函数,print( )是输出函数,abs( )是求绝对值函数,故本题选B选项。 2.D 【详解】本题主要考查Python字符串操作。Python字符串的索引从0开始,a="python",则a[1]的值为"y",故本题选D选项。 3.A 【详解】本题考查Python函数相关内容。Python函数可以实现代码的复用,使代码的逻辑结构更清晰,增强代码的可读性,降低代码的维护难度。BCD选项属于函数作用,A选项不属于。故本题答案是A选项。 4.A 【详解】本题考查Python运算符与表达式相关内容。已知x=20,y=21,x>=y-1成立、 (x+1)!=y不成立,or表示只有一个表达式成立则结果为真,选项A结果为True;not (x<=y)表示不是20小于等于21,选项B结果为False;and表示左右两边的表达式都成立结果才为真,x<y-1不成立,选项C结果为False; x! =y-1不成立,选项D结果为False。故选:A。 5.B 【详解】本题考查Python基础知识。在Python中,要读取DataFrame对象中特定列的数据,可以使用列名作为键来访问,即df["单位"]。故答案为:B。 6.C 【详解】本题考查Python程序设计相关内容。分析代码段可知,该代码段功能是比较两个列表a、b,统计相同元素的个数。a=[2,0,9,3,10]、b=[10,9,16,2,7],比较两者,可得出相同元素个数为:3。故本题答案是C选项。 7.C 【详解】本题考查Python程序设计相关内容。分析两个程序段,可知: 第一个程序段交换过程:第一次数据交换是将2与9交换,所得序列是:2,9,5,1,3;第二次数据交换是将5与9交换,所得序列是:2,5,9,1,3;第三次数据交换是将1与9交换,所得序列是:2,5,1,9,3;第四次数据交换是将1与5交换,所得序列是:2,1,5,9,3;第五次数据交换是将1与2交换,所得序列是:1,2,5,9,3。 第二个程序段交换过程:第一次数据交换是将1与5交换,所得序列是:9,2,1,5,3;第二次数据交换是将1与2交换,所得序列是:9,1,2,5,3;第三次数据交换是将5与3交换,所得序列是:9,1,2,3,5。 故本题答案是C选项。 8.C 【详解】本题考查Python程序。该程序段创建了一个包含字符串和整数的列表,并使用print(List[2])语句输出列表中索引为2的元素。列表索引从0开始,因此List[2]表示获取列表中第3个元素。所以输出结果是:100。故答案为:C。 9.D 【详解】本题主要考查Python分支结构的应用。选项D中,满足第一个if判断条件时,也满足第二个if判断条件,因此m值都是5,因此不能正确计算停车费m,故本题选D选项。 10.A 【详解】本题考查对分查找相关内容。结合对分查找算法思想和程序段,构造二叉树,如图所示:。依据while循环,查找成功时:查找25、12、43、61时,t的值为4;查找9、39、43时,t的值为6;查找55时,t的值为3;查找88时,t的值为0;查找72时,t的值为2。查找失败时,t的取值范围是{0,2,3,4,6}。即无论查找成功与否,t的值都不可能是5。故本题答案是A选项。 11.B 【详解】本题考查Python程序设计相关内容。分析程序段,其运行过程如图所示:,执行该程序段后,变量 max 的值为5。故本题答案是B选项。 12.B 【详解】本题主要考查Python数据处理。分析程序可知,当像素点的颜色值pix[i,j]>=128时,填充“*”,反之无填充,图中灰色部分的像素点的颜色值均大于128,因此得到的效果图是 ,故本题选B选项。 13.B 【详解】本题主要考查Python程序调试。①此处是通过for循环随机从列表DNA中生成20个字符,使用choice方法,choice方法可以接收一个列表,返回列表中一个元素,故第一空填s=s+random.choice(DNA),match是一个字典,可以通过匹配键来返回键值,故第二空填t= t + match[s[i]],故本题选B选项。 14.A 【详解】本题考查Python程序。首先,定义了列表q和两个变量head和tail,然后通过for循环遍历列表q。在循环中,通过条件判断判断当前元素q[i]是否等于队列头部元素q[head],并且队列头尾不相等。如果满足条件,说明找到了一个重复元素的起始位置,更新队尾tail并将队头head移动到队尾tail的位置。如果不满足条件,说明继续查找。 最终,输出列表q中从队头head到队尾tail的元素。 根据程序的执行过程: 初始时,q[0]为'a',head和tail都为0。 在第二次循环时,q[1]为'b',与队头元素不相等,继续。 在第三次循环时,q[2]为'c',与队头元素不相等,继续。 在第四次循环时,q[3]为'a',与队头元素相等,且队头队尾不相等,更新tail为4,head为4。 在第五次循环时,q[4]为'c',与队头元素不相等,继续。 在第六次循环时,q[5]为'd',与队头元素不相等,继续。 在第七次循环时,q[6]为'd',与队头元素不相等,继续。 在第八次循环时,q[7]为'e',与队头元素不相等,继续。 最终,输出q[head:tail],即q[4:8],结果为['c', 'd', 'd', 'e']。故答案为:A。 15.D 【详解】本题主要考查Python程序的执行与调试。若输入的key值为“1919810”,i=0,j=len(a)-1=4,第一次循环,m=(i+j)//2=2,a[2]>key,j=m-1=1;第二次循环,m=(i+j)//2=0,a[0]<key,i=m+1=1;第三次循环,m=(i+j)//2=1,a[1]<key,i=m+1=2,循环结束。a[m]="14"。len(a[m])=2,for循环中,当i=0时,b=b+chr(ord(a[m][i])-49+97)="a",当i=1时,b=b+chr(ord(a[m][i])-49+97)="ad",因此程序运行后输出结果是ad,故本题选D选项。 16.A 【详解】本题主要考查Python程序的执行与调试。m=randint(1,3)*2,m随机生成2、4、6,当m=2时,a[3]~a[5]成升序状态,s=[60,40,70,10,20,50];当m=4时,a[4]~a[5]成升序状态,s=[60,40,70,20,10,50];当m=6时,s不变,故输出的结果可能是[60,40,70,20,10,50],故本题选A选项。 17.A 【详解】本题考查Python程序设计相关内容。分析程序可知,该程序功能是:若栈空,将当前元素入栈,列表t对应位置数值加1(计数),若top>=first and top!=-1,则将栈中元素全部出栈,列表t对应位置重置为-1。输入的值为"hellopython",“hel”均入栈,读取到第二个“l”时,将栈中元素全部出栈;“opyth”均入栈,读取到第二个“o”时,将栈中元素全部出栈;最终,st中仅存“on”。输出的值为“on”。故此处答案是A选项。 18. else if 【详解】本题主要考查Python分支结构。Python关键字elif表示else与if两个单词的缩写。 19./create 【详解】本题主要考查Python程序Flask框架的应用。若图交互界面中“提交”按钮的请求目标为“/create”,则服务器端主控程序中@app.route("/create" methods='GET','POST')路由括号中的“/create”即与该“提交”关联,客户端即可得到指定的“响应”。 20.1275 【详解】本题主要考查Python程序的执行。变量i的范围是1~100,每次循环执行s=s+i,当i==50时,输出s的值并退出循环,此时s=s+i=0+1+2+3+...+50=1275。 21. numpy pandas matpoltlib 【详解】本题考查的是Python库相关知识。numpy模块用于科学计算(随机数、数组运算等);pandas模块基于numpy实现,主要用于数据的处理和分析;matpoltlib用于绘图库。 22.781是奇数 【详解】本题考查的是Python选择结构。从键盘输入781,即x=781, x%2=1,故执行 print(x,"是奇数."),输出:781是奇数。 23.正确 【详解】本题主要考查Python输入输出函数的描述。在Python程序中,数据的输入与输出是通过函数来实现的,表述正确。 24.错误 【详解】本题考查Python表达式的运算。逻辑运算符or两边值均为假时值才为假,否则值为真;逻辑运算符and两边值均为真时值才为真,否则值为假,not是取反。因此表达式(2>4)and(8>9)的结果是False。故表述错误。 25.正确 【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故表述正确。 26.正确 【详解】本题考查计算机程序相关内容。计算机软件(程序)复用指的是在开发软件时,重复利用已有的代码和模块,以提高开发效率,并减少开发成本。故本题答案是:正确。 27.对 【详解】本题考查的是鼠标响应。实时获得鼠标的状态并对鼠标单击做出正确的响应,也就不断地进行监听、更新游戏状态、重绘屏幕三个步骤的操作。题干中的说法是正确的。 28. int n-1 s 【详解】本题考查Python综合应用。 (1)输入繁殖天数,可以通过 int(input("请输入繁殖天数:")) 获取用户输入的天数,并将其转换为整数。故答案为:int。 (2)细菌个数初值为10,表示第一天的细菌数量。细菌的繁殖速度是每天成倍增长,即乘以2的指数次方。因此,细菌数量可以通过公式 s = 10 * 2**(n-1) 计算,其中 n 为繁殖天数。故答案为:n-1。 (3)输出细菌总量,使用 print("细菌总量为:", s)。故答案为:s。 29. len(s) m=m*10+int(s[j]) ss=ss+m*n RRRGAGA 【详解】本题考查Python程序的综合应用。 ①依次遍历字符串s中的每一个字符,即字符串下标范围0~len(s)-1,故此处填len(s)。 ②用变量m取出连续的数字,故此处填m=m*10+int(s[j])。 ③数据用数字段和字母段组成,数字段的数值代表字母段的重复次数。此处还原字符串,用变量ss保存,m是数字段的数值,n是字母段,故此处填ss=ss+m*n。 ④若删除④处语句,输入字符串 3R2GA10B,则最后的10B将不能进行还原,因此输出的内容为RRRGAGA。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

3.2Python语言程序设计同步作业2024—2025学年高中信息技术浙教版(2019)必修1
1
3.2Python语言程序设计同步作业2024—2025学年高中信息技术浙教版(2019)必修1
2
3.2Python语言程序设计同步作业2024—2025学年高中信息技术浙教版(2019)必修1
3
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。