浙江省杭州市2022-2023学年高一下学期期末考试技术试题(含答案解析)_第1页
浙江省杭州市2022-2023学年高一下学期期末考试技术试题(含答案解析)_第2页
浙江省杭州市2022-2023学年高一下学期期末考试技术试题(含答案解析)_第3页
浙江省杭州市2022-2023学年高一下学期期末考试技术试题(含答案解析)_第4页
浙江省杭州市2022-2023学年高一下学期期末考试技术试题(含答案解析)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2023届高一年级技术学科期末试卷第一部分信息技术(共50分)一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分)1.关于python程序设计语言,下列说法不正确的是()。A.python源文件以***.py为扩展名B.python的默认交互提示符是:>>>C.python只能在文件模式中编写代码D.python具有丰富和强大的模块【答案】C【解析】【详解】本题主要考查Python程序设计语言。python源文件以***.py为扩展名,python的默认交互提示符是:>>>,python能在文件模式中编写代码,也能在交互模式中编写代码,python具有丰富和强大的模块,故本题选C选项。2.下列可以作为python变量名是()A'a1' B.6keyC.False D.i_f【答案】D【解析】【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故i_f可以作为python变量名,故本题选D选项。3.已知变量x=5,执行语句x*=x+3,变量x的值为()A.8 B.13C.28 D.40【答案】D【解析】【详解】本题主要考查Python表达式的运算。语句x*=x+3等价于x=x*(x+3)=5*(5+3)=40,故本题选D选项。4.二进制数110110转换成十六进制数是()A.66 B.D2 C.D8 D.36【答案】D【解析】【详解】本题主要考查进制数的转换。二进制转换成十六进制的方法是,取四合一法,将四位二进制按权相加,得到的数就是一位十六进制数,然后按顺序排列。因此二进制数110110转换成十六进制数是36,故本题选D选项。5.语句print('abd'>'abc'and20%6==10%4)的结果为()A.False B.True C.3 D.编译错误【答案】B【解析】【详解】本题主要考查Python表达式的运算。表达式'abd'>'abc'值为True,表达式20%6==10%4值为True,逻辑运算符and两边值均为真时值才为真,否则值为假,故表达式'abd'>'abc'and20%6==10%4值为True,故本题选B选项。6.某算法的部分流程图如图所示,执行这部分流程后,变量C的值是()A.2 B.3 C.4 D.5【答案】B【解析】【详解】本题考查的是流程图识读。初始值:m=18,n=7,c=118>7成立,c=c+1=2,m=m-n=18-7=11;11>7成立,c=c+1=3,m=m-n=11-7=4;4>7不成立,循环结束。c=3,故本题应选B。7.已知list=["World","tourism","Ninghai","open","tour"],则list[2][2]的返回值为()A."o" B."u" C."i" D."n"【答案】D【解析】【详解】本题考查的是列表中元素的编号。元素编号从左到右编号由0依次增大,故list[2][2]是指的"Ninghai"中的n,故选项D正确。8.已知str="3.1415926535898",则str[4:6]+str[-6:-4]的返回值为()A."415535" B."159535" C."1553" D."'4153"【答案】C【解析】【详解】本题考查的是字符串中的字符编号。从左到右是由0依次加1,从右到左是由-1依次减1。切片操作的方法是:consequence[start_index:end_index:step],end_index其实是你第一个不想要获取的对象的索引。str[4:6]得到的是15,str[-6:-4]得到的是53。故选项C正确。9.已知字典dict1={1:2,2:(1,2),(1,2):'b','b':'b1','b1':'b2'},要得到字典中的值'b',下列方法可行的是()A.dict1[(1,2)] B.dict1{'b'} C.dict1[3] D.dict1['b1']【答案】A【解析】【详解】本题主要考查Python字典数据类型。由字典dict1={1:2,2:(1,2),(1,2):'b','b':'b1','b1':'b2'},可知'b'的键是(1,2),故要得到字典中的值'b',可以通过语句dict1[(1,2)],故本题选A选项。10.小王编写了出租车收费的python程序,代码如下:s1=float(input('请输入行驶路程(公里):'))ifs1<=3:f=10elifs1<=10:f=10+2.5*(s1-3)else:f=27.5+3.5*(s1-10)print(f)要测试所有分支程序代码是否正确,以下测试数据中,最恰当的一组是()A.3,8 B.-1,5,12C.1,6,20 D.3,12,20【答案】C【解析】【详解】本题主要考查Python条件分支结构。分析代码可知,程序采用条件分支结构,第一个条件是s1<=3,第二个条件是3<s1<=10,第三个条件是s1>10,故最恰当的一组测试数据是1,6,20,故本题选C选项。11.有如下Python程序段:a=[2,1,3,4,5]c=0foriinrange(2,len(a)):ifa[i-2]+a[i-1]==a[i]:c=c+1print(c)该程序段运行后,最后输出的内容是()A.1 B.2 C.3 D.4【答案】B【解析】【详解】本题主要考查Python程序的执行。分析程序可知,变量c用于统计列表a中前两项之和等于第三项的个数,a[0]+a[1]=a[2],a[1]+a[2]=a[3],故c的值为2,故本题选B选项。12.小林编写一段文件读写操作代码,文件如图,代码段如下:file=open('ceshi.txt','w')file.write("pythonisaprogramminglanguage.")file.close()file=open('ceshi.txt','r')print(file.read())该代码段运行后,输出的结果为()A.IADistributedSystemBasedonPython.B.pythonisaprogramminglanguage.CIADistributedSystemBasedonPython.pythonisaprogramminglanguage.D.程序编译错误,不会输出结果【答案】B【解析】【详解】本题主要考查Python文件读写操作。首先打开ceshi.txt文件进行写操作,写入pythonisaprogramminglanguage.会覆盖之前的内容,故该代码段运行后,输出的结果为pythonisaprogramminglanguage.,故本题选B选项。二、非选择题(本大题共3小题,其中第13小题6分,第14小题7分,第15小题6分,第16小题7分共26分。)13.广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个。编写程序求出这些小朋友的可能人数。实现上述功能的程序如下,请在程序划线处填入合适的代码。________a=[]foriinrange(100,1000):if_____________:a.append(i)total+=1print("这群小朋友总的人数有:")forjinrange(len(a)):print(____end='、')print('')print('可能情况数为:',total,'种')划线处①处应该填入的语句为:;划线处②处应该填入的语句为:;划线处③处应该填入语句为:。【答案】①.total=0②.i%3==2andi%5==3andi%7==2③.a[j]【解析】【分析】【详解】本题主要考查Python程序的执行与调试。①变量total用来统计有多少种情况,初始值为0,第一空填total=0。②当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个,即if判断条件为i%3==2andi%5==3andi%7==2,满足if条件时,将该值加到列表a中,故第二空填i%3==2andi%5==3andi%7==2。③最后通过for循环输出所有可能的数,用变量j控制,故第三空填a[j]。14.小王编写了“字符串缩写”程序,实现如下功能:1.输入一串由英文字母和数字组成的字符串,2.如果字符串有连续字符构成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),则把升序段缩写成由第一个字符加上“—”和最后一个字符组成的新字符段,3.例如:字符串为“abcdf12345becomexy”,则缩写成“a-df1-5becomex-y”。程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示:实现上述功能的程序如下,请在程序划线处填入合适的代码。s=input("请输入字符串s:")_______flag=Falseresult=""foriinrange(0,k-1):if___________________:result=result+s[i]+"-"flag=Trueeliford(s[i])!=ord(s[i+1])-1:result=result+s[i]_____result=result+s[i+1]print("缩写后的字符串为:",result)划线处①处应该填入的语句为:;划线处②处应该填入的语句为:;划线处③处应该填入的语句为:。【答案】①.k=len(s)②.ord(s[i])==ord(s[i+1])-1andflag==False或ord(s[i])==ord(s[i+1])-1andnotflag或ord(s[i])+1==ord(s[i+1])andflag==False或ord(s[i])+1==ord(s[i+1])andnotflag③.flag=False【解析】【分析】【详解】本题主要考查Python程序的执行与调试。①第一空将输入的字符串s的长度赋给变量k,故填k=len(s)。②flag用来标记是否有连续字符构成的升序段,第二空判断相邻位置后面字符的ASCII值是否比前面的字符的ASCII值大1且flag为False,故填ord(s[i])==ord(s[i+1])-1andflag==False或ord(s[i])==ord(s[i+1])-1andnotflag或ord(s[i])+1==ord(s[i+1])andflag==False或ord(s[i])+1==ord(s[i+1])andnotflag。③如果不满足if判断条件,则需要将该字符加到变量result中,同时赋值flag为False,表示当前没有连续字符构成的升序段,需要继续判断寻找,故填flag=False。15.用Python程序编写一个找最大值的程序,程序功能:输入一组数字串(所有数字均大于0,相互间用逗号分隔),输出其中最大的数值。实现该功能的程序代码段如下,该程序运行的部分界面如图所示,请在程序划线处填入合适的代码。s=input("请输入一组数字串")max=-1i=0#每一个数字起始位置j=0whilej<len(s)①ifch==",":tmp=int(s[i:j]iftmp>max:max=tmp②③tmp=int(s[i:j])iftmp>maxmax=tmpprint(max)划线处①处应该填入的语句为:_______划线处②处应该填入的语句为:_______划线处③处应该填入的语句为:_______【答案】①.ch=s[j]②.i=j+1③.j=j+1【解析】【详解】本题主要考查Python程序的综合应用。①此处是初始化ch的值,由下面代码可知,ch是取字符串s索引j处的字符,故填ch=s[j]。②如果tmp>max,则更新max=tmp,同时更新i的值为j+1,继续取下一个数字进行判断,故填i=j+1。③此处j递增1,继续循环,故填j=j+1。16.一个整数n(n>=11andn<1000)从左向右和从右向左读其结果相同,且是素数,则称n为回文素数,例如133020331是回文素数。下列Python程序段用于找出1000以内的所有回文素数。(提示:如果n不能被内的任何一个整数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论