![浙江省杭州市2022-2023学年高一技术下学期期末考试试题(Word版附解析)第1页](http://img-preview.51jiaoxi.com/3/14/14853530/0-1695548613587/0.jpg?x-oss-process=image/resize,w_794,m_lfit,g_center/sharpen,100)
![浙江省杭州市2022-2023学年高一技术下学期期末考试试题(Word版附解析)第2页](http://img-preview.51jiaoxi.com/3/14/14853530/0-1695548613621/1.jpg?x-oss-process=image/resize,w_794,m_lfit,g_center/sharpen,100)
![浙江省杭州市2022-2023学年高一技术下学期期末考试试题(Word版附解析)第3页](http://img-preview.51jiaoxi.com/3/14/14853530/0-1695548613643/2.jpg?x-oss-process=image/resize,w_794,m_lfit,g_center/sharpen,100)
浙江省杭州市2022-2023学年高一技术下学期期末考试试题(Word版附解析)
展开
这是一份浙江省杭州市2022-2023学年高一技术下学期期末考试试题(Word版附解析),共9页。试卷主要包含了选择题,非选择题等内容,欢迎下载使用。
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' and 20%6 = = 10%4 )的结果为( )A. False B. True C. 3 D. 编译错误【答案】B【解析】【详解】本题主要考查Python表达式的运算。 表达式 'abd' > 'abc' 值为True,表达式20%6 = = 10%4 值为True,逻辑运算符and两边值均为真时值才为真,否则值为假,故表达式 'abd' > 'abc' and 20%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('请输入行驶路程(公里):'))if s1<=3: f=10elif s1<=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 = 0 for i in range(2,len(a)): if a[i-2] + a[i-1] == a[i]: c = c + 1 print(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("python is a programming language.")file.close( )file=open('ceshi.txt','r')print(file.read( ))该代码段运行后,输出的结果为( )A. IA Distributed System Based on Python.B. python is a programming language.C IA Distributed System Based on Python. python is a programming language.D. 程序编译错误,不会输出结果【答案】B【解析】【详解】本题主要考查Python文件读写操作。首先打开ceshi.txt文件进行写操作,写入python is a programming language.会覆盖之前的内容,故该代码段运行后,输出的结果为python is a programming language.,故本题选B选项。二、非选择题(本大题共3小题,其中第13小题6分,第14小题7分,第15小题6分,第16小题7分共26分。)13. 广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个。编写程序求出这些小朋友的可能人数。实现上述功能的程序如下,请在程序划线处填入合适的代码。________a=[ ]for i in range(100,1000): if_____________: a.append(i) total + = 1print("这群小朋友总的人数有:")for j in range(len(a)): print(____end='、')print('')print('可能情况数为:',total,'种')划线处①处应该填入的语句为: ;划线处②处应该填入的语句为: ;划线处③处应该填入语句为: 。【答案】 ①. total=0 ②. i%3 == 2 and i%5 == 3 and i%7 == 2 ③. a[j]【解析】【分析】【详解】本题主要考查Python程序的执行与调试。①变量total用来统计有多少种情况,初始值为0,第一空填total=0。②当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个,即if判断条件为i%3 == 2 and i%5 == 3 and i%7 == 2,满足if条件时,将该值加到列表a中,故第二空填i%3 == 2 and i%5 == 3 and i%7 == 2。③最后通过for循环输出所有可能的数,用变量j控制,故第三空填a[j]。14. 小王编写了“字符串缩写”程序,实现如下功能:1.输入一串由英文字母和数字组成的字符串,2.如果字符串有连续字符构成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),则把升序段缩写成由第一个字符加上“ — ”和最后一个字符组成的新字符段,3.例如:字符串为“abcdf12345becomexy”,则缩写成“a-df1-5becomex-y”。程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示: 实现上述功能的程序如下,请在程序划线处填入合适的代码。s=input("请输入字符串s:")_______flag = Falseresult=" "for i in range( 0 , k-1): if ___________________ : result=result+s[i]+"-" flag = True elif ord(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])-1 and flag==False 或 ord(s[i])==ord(s[i+1])-1 and not flag 或 ord(s[i])+1==ord(s[i+1]) and flag==False 或 ord(s[i])+1==ord(s[i+1]) and not flag ③. flag = False【解析】【分析】【详解】本题主要考查Python程序的执行与调试。①第一空将输入的字符串s的长度赋给变量k,故填k=len(s)。②flag用来标记是否有连续字符构成的升序段,第二空判断相邻位置后面字符的ASCII值是否比前面的字符的ASCII值大1且flag为False,故填ord(s[i])==ord(s[i+1])-1 and flag==False 或 ord(s[i])==ord(s[i+1])-1 and not flag 或 ord(s[i])+1==ord(s[i+1]) and flag==False 或 ord(s[i])+1==ord(s[i+1]) and not flag。③如果不满足if判断条件,则需要将该字符加到变量result中,同时赋值flag为False,表示当前没有连续字符构成的升序段,需要继续判断寻找,故填flag = False。15. 用Python程序编写一个找最大值的程序,程序功能:输入一组数字串(所有数字均大于0,相互间用逗号分隔),输出其中最大的数值。实现该功能的程序代码段如下,该程序运行的部分界面如图所示,请在程序划线处填入合适的代码。s=input("请输入一组数字串")max=-1i=0 #每一个数字起始位置j=0while j<len(s) ① if ch==",":tmp=int(s[i:j]if tmp>max:max=tmp ② ③ tmp=int(s[i:j])if tmp>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>=11 and n<1000)从左向右和从右向左读其结果相同,且是素数,则称n为回文素数,例如133020331是回文素数。下列Python程序段用于找出1000以内的所有回文素数。(提示:如果n不能被内的任何一个整数整除,则n是素数)import mathdef hws(num):m=str(num)if ① :return Truereturn Falsedef sushu(num): ② for i in range(2,int(math.sqrt(num)+1)):if num%i==0: ③ return flagn=11while n<1000if ④ print(n)n=n+1上述程序段中划线处可选语句为:________划线处①处应该填入的语句为:______划线处②处应该填入的语句为:______划线处③处应该填入的语句为:______划线处④处应该填入的语句为:______【答案】 ①. m==m[::-1] ②. flag=True ③. flag=False ④. sushu(n) and hws(n)【解析】【详解】本题主要考查Python程序的综合应用。①本题用于找出1000以内所有的回文素数,主程序段采用枚举法,用于判断是否为回文,即该正序与逆序相同,则应填入m==m[::-1]。②sushu(num)函数用于判断num是否为素数,用flag标记,flag初值为True。③如果num%i==0,说明num不是素数,赋值flag为False,故填flag=False。④此处使用sushu(n) 、 hws(n)函数分别用于判断n是否是素数和回文数,故填sushu(n) and hws(n)。
相关试卷
这是一份浙江省杭州市2023-2024学年高三上学期期中技术试题(Word版附解析),共13页。
这是一份浙江省台州市2022-2023学年高一技术下学期期末试题(Word版附解析),共5页。试卷主要包含了0C. “98”D. “请输入等内容,欢迎下载使用。
这是一份浙江省台州市2022-2023学年高二技术下学期期末考试试题(Word版附解析),共13页。试卷主要包含了 有如下pythn程序段等内容,欢迎下载使用。