资源简介 浙江省温州市2020-2021学年高一下学期信息技术期末考试试卷一、选择题1.(2021高一下·温州期末)①设计算法,②描述算法,③调试运行程序,④抽象建模,⑤编写程序。从以上这些过程选出属于用计算机编程解决问题的一般过程,并正确排序后的选项是( )A.④①⑤② B.①②③④ C.④①②⑤ D.④①⑤③2.(2019高二下·湖州月考)某算法的部分流程图如图所示,执行这部分流程后,变量a,b的值分别是( )A.3,3 B.3,4 C.6,6 D.7,113.(2021高一下·温州期末)关于python程序设计语言,下列说法不正确的是( )。A.python源文件以***.py为扩展名B.python的默认交互提示符是:>>>C.python只能在文件模式中编写代码D.python具有丰富和强大的模块4.(2021高一下·温州期末)语句print( 'abd' > 'abc' and 20%6 = = 10%4 )的结果为( )A.False B.True C.3 D.编译错误5.(2021高一下·温州期末)下列可以作为python变量名的是( )A.'a1' B.6key C.False D.i_f6.(2021高一下·温州期末)已知变量x=5,执行语句x*=x+3,变量x的值为( )A.8 B.13 C.28 D.407.(2021高一下·温州期末)表达式12 % 9 和 –12% 9 的结果分别是( )A.1、6 B.3、–3 C.1、–3 D.3、68.(2021高一下·温州期末)有如下python程序段:a="Doing is better than saying ."print(r"\n"+a[ :15])该程序运行后,输出的结果是( )A.直接输出:' \nDoing is better 'B.直接输出:\nDoing is better thC.直接输出:\nDoing is betterD.先换行,然后在新的一行中输出:Doing is better9.(2021高一下·温州期末)已知列表:s1=[1,['a','b'],True],执行以下程序:s1=[1,['a','b'],True]s1[0]=s1[0]*2s1.append(('apple','banana'))print(s1[1: ])执行后输出的结果为:( )A.[True, ('apple', 'banana')]B.[ ['a', 'b'], True, ('apple', 'banana')]C.[2,['a', 'b'], True, 1, ['a', 'b'], True]D.[1, ['a', 'b'], True, ('apple', 'banana')]10.(2021高一下·温州期末)已知字典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']11.(2021高一下·温州期末)小王编写了出租车收费的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,12 C.1,6,20 D.3,12,2012.(2021高一下·温州期末)有下面一段程序:p = [ 2, 1, 3, 4, 5 ]c = 0for i in range( 2, 6, 2 ):if p[ i - 2 ] + p[ i -1 ] == p[ i ]:c += 1print( c )执行该段程序后,计算机显示的是( )A.1 B.2 C.3 D.413.(2021高一下·温州期末)以下程序导入python的math模块,使用math模块下的函数对输入的实数进行向下取整,具体代码如下:①n = input("请输入一个实数:")②print(n3)请完善该代码,上述划线处可选的语句为:( )A.① import math ;② n3=math.floor(float(n)) ;B.① import math;② n3=floor(float(n)) ;C.① import math ;② n3=math.sqrt(float(n)) ;D.① from math import ceil ;② n3=ceil(float(n)) ;14.(2021高一下·温州期末)小林编写一段文件读写操作代码,文件如图,代码段如下: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.程序编译错误,不会输出结果15.(2021高一下·温州期末)执行如下代码:c=0num=[1,2,3,4]def fun(num):global cfor i in range( 5 ) :c+=1num.append(c)return numprint(fun(num), num ,c)则程序执行后输出( )A.[1,2,3,4] [1,2,3,4]B.[1, 2, 3, 4, 5] [1,2,3,4] 0C.[1, 2, 3, 4, 5] [1,2,3,4] 5D.[1, 2, 3, 4, 5] [1, 2, 3, 4, 5] 5二、操作题16.(2021高一下·温州期末)广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个。编写程序求出这些小朋友的可能人数。实现上述功能的程序如下,请在程序划线处填入合适的代码。 a=[ ]for i in range(100,1000):if :a.append(i)total + = 1print("这群小朋友总的人数有:")for j in range(len(a)):print( ,end='、')print('')print('可能情况数为:',total,'种')17.(2021高一下·温州期末)若两个素数之差为2,则该对素数称为双胞胎数,如 3,5 就是一对双胞胎数。编写 python 程序,实现如下功能:输入 n 的值,统计显示 n 以内的所有双胞胎数。程序运行界面如图所示:实现上述功能的程序如下,请在划线处填入合适的代码。import mathdef isprime(x): for i in range(2,int(math.sqrt(x))+1):if x % i = = 0 :f=Falsereturn fn=int(input("请输入一个正整数n:"))c=0k=3while k < = n-2:if isprime( k ) and :c + = 1print("第"+ str( c ) +"对双胞胎数:", k ,'和',k+2) print("共有"+str(c)+"对双胞胎数")18.(2021高一下·温州期末)小王编写了“字符串缩写”程序,实现如下功能: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 = Trueelif ord(s[i]) ! = ord(s[i+1])-1:result=result+s[i] result=result + s[i+1]print("缩写后的字符串为:",result)答案解析部分1.【答案】D【知识点】计算机解决问题的过程【解析】【解答】计算机编程解决问题的一般过程:④抽象建模①设计算法⑤编写程序③调试运行程序。故答案选D。【分析】本题考查的是计算机解决问题的过程。2.【答案】D【知识点】算法的常用表示方法;算法的控制结构【解析】【解答】分析程序,a=2,b=1,b<5,执行yes语句,a=a+b=3,b=a+b=4;b<5,执行yes语句,a=a+b=7,b=a+b=11;b>5,程序结束,故答案选D。【分析】此题主要考查循环结构流程图的应用。流程图描述算法的方法:流程图使用各种特定的图形来描述算法,其中用圆角矩形表示开始和结束,用矩形框表示赋值和处理框,用菱形表示判断框,如果流程线没有回到流程框上面,就是选择结构,如果流程线回到菱形框上面就是循环结构,用箭头表示走向。3.【答案】C【知识点】计算机语言【解析】【解答】python源文件以***.py为扩展名,python的默认交互提示符是:>>>,python能在文件模式中编写代码,也能在交互模式中编写代码,python具有丰富和强大的模块。故答案选C。【分析】本题考查的是python程序设计语言。Python是一种跨平台、开源、解释型的高级编程语言。Python语言有三个方面的主要特点:语法简洁、粘性扩展、类库丰富。4.【答案】B【知识点】运算符、基本运算与表达式【解析】【解答】 'abd' > 'abc' 值为True,20%6==10%4值为True,逻辑运算符and两边值均为真时值才为真,否则值为假。 'abd' > 'abc' and 20%6 = = 10%4值为True。故答案选B。【分析】本题主要考查的是Python表达式的运算。运算符优先级别排序:算术运算符>=字符运算符>关系运算符>逻辑运算符。5.【答案】D【知识点】常量、变量及变量的赋值【解析】【解答】选项A:变量名不能有 ' ;选项B:变量不能以数字开头;选项C:变量名不能是保留字;选项D:i_f可以作为python变量名。故答案选D。【分析】本题考查的是Python变量的命名。Python中的变量名只能由大写字母、数字、下划线组成,不能以数字开头,字母区分大小写,不能使用保留字。6.【答案】D【知识点】运算符、基本运算与表达式【解析】【解答】语句x*=x+3等价于x=x*(x+3)=5*(5+3)=40。故答案选D。【分析】本题考查的是Python表达式的运算。7.【答案】D【知识点】运算符、基本运算与表达式【解析】【解答】12除9商1余3,-12除9商-2余6。故答案选D。【分析】本题考查的是Python表达式的运算。%是取余运算。8.【答案】C【知识点】基本数据结构;基本语句【解析】【解答】r标识 \ 后面的字符不转义,a[ :15]表示从a的右边往左第15位到最左边全部输出。该程序运行后,输出的结果是直接输出:\nDoing is better。故答案选C。【分析】本题考查的是列表及输出语句的应用。列表的切片操作:格式:[start: end: step]。功能:返回从索引位置start到索引位置end且以step为步数的子序列(不包含索引位置end的元素)。9.【答案】D【知识点】基本数据结构【解析】【解答】前三行语句执行完,列表s1的元素值分别是2,['a', 'b'], True ,('apple', 'banana'),最后执行语句print(s1[1: ]),输出列表s1除去第一个元素剩下的所有元素,故执行后输出的结果为:[ ['a', 'b'], True, ('apple', 'banana')]。故答案选B。【分析】本题主要考查的是Python列表。列表是包含0个或多个对象的有序序列,用方括号“[ ]”括起来,并用逗号分隔其中的对象(元素)。可以通过索引访问列表中特定位置的元素。列表的切片操作:格式:[start: end: step]。功能:返回从索引位置start到索引位置end且以step为步数的子序列(不包含索引位置end的元素)。10.【答案】A【知识点】基本数据结构【解析】【解答】由字典dict1={1:2, 2:(1,2), (1,2):'b', 'b':'b1','b1':'b2' }可知,'b'的键是(1,2)。要得到字典中的值'b',可以通过语句dict1[(1,2)]。故答案选A。【分析】本题主要考查的是python中字典的应用。字典是Python中唯一内建的映射类型。字典中没有特殊的顺序,但都是存储在一个特定的键(key)下面,键可以是数字,字符串,甚至是元组。11.【答案】C【知识点】分支结构语句及程序实现【解析】【解答】本题程序采用的是条件分支结构,第一个条件是s1<=3,第二个条件是310。最恰当的一组测试数据是1,6,20。故答案选C。【分析】本题考查的是对Python条件分支结构的分析。12.【答案】A【知识点】分支结构语句及程序实现;循环结构语句及程序实现【解析】【解答】变量i的取值有2、4,当i=2时,满足if条件,c=c+1=1。执行该段程序后,计算机显示的是1。故答案选A。【分析】本题考查的是对Python程序的分析。13.【答案】A【知识点】模块【解析】【解答】导入python的math模块,使用import关键字,①填 import math;floor() 返回数字的下舍整数,input接收的数据类型是str类型,需要将其转换为浮点型,②填n3=math.floor(float(n)) 。故答案选A。【分析】本题考查的是Python模块导入。import语句或from-import语句可以将函数所在的模块导入。14.【答案】B【知识点】程序的调试及运行;基本语句【解析】【解答】首先打开ceshi.txt文件进行写操作,写入python is a programming language.会覆盖之前的内容。运行该代码段后,输出的结果为python is a programming language.。故答案选B。【分析】本题考查的是Python文件读写操作。open( )是文件打开函数,read( )、write( )是文件读写函数。15.【答案】D【知识点】过程与自定义函数;循环结构语句及程序实现【解析】【解答】fun函数接收一个列表num,循环结束后c的值为5,将c追加到列表num中并返回num,num=[1,2,3,4]。fun(num)执行完,返回值num为[1, 2, 3, 4, 5],程序执行后输出程序执行后输出[1, 2, 3, 4, 5] [1, 2, 3, 4, 5] 5。故答案选D。【分析】本题考查的是python循环结构、列表及函数的应用。append命令是将整个对象加在列表末尾。16.【答案】total=0;i%3 == 2 and i%5 == 3 and i%7 == 2;a[j]【知识点】循环结构语句及程序实现;基本数据结构【解析】【解答】第一空:变量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]。【分析】本题主要考查的是循环结构和列表的应用。append命令是将整个对象加在列表末尾。17.【答案】f = True;isprime(k+2);k=k+1 或 k+=1 或 k=k+2 或 k+=2【知识点】过程与自定义函数;模块【解析】【解答】第一空:isprime(x)用来判断x是不是素数,通过用x整除2~int(math.sqrt(x)),如果余数为0则表明该数不是素数,赋值f为假退出循环,f的初值为True,故填:f = True;第二空:若两个素数之差为 2,则该对素数称为双胞胎数,此处判断相差为2的两个数是不是素数,故填:isprime(k+2);第三空:素数都是奇数,此处需要更新k的值继续循环判断,可以将k的值递增1或递增2,故填:k=k+1 或 k+=1 或 k=k+2 或 k+=2。【分析】本题主要考查的是模块以及自定义函数的应用。18.【答案】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【知识点】基本数据结构;常用标准函数【解析】【解答】第一空:isprime(x)用来判断x是不是素数,通过用x整除2~int(math.sqrt(x)),如果余数为0则表明该数不是素数,赋值f为假退出循环,f的初值为True,故填:f = True。第二空:若两个素数之差为 2,则该对素数称为双胞胎数,此处判断相差为2的两个数是不是素数,故填:isprime(k+2)。第三空:素数都是奇数,此处需要更新k的值继续循环判断,可以将k的值递增1或递增2,故填:k=k+1 或 k+=1 或 k=k+2 或 k+=2。【分析】本题主要考查的是字符串的操作。ord( ):返回对应字符的ASCII数值1 / 1浙江省温州市2020-2021学年高一下学期信息技术期末考试试卷一、选择题1.(2021高一下·温州期末)①设计算法,②描述算法,③调试运行程序,④抽象建模,⑤编写程序。从以上这些过程选出属于用计算机编程解决问题的一般过程,并正确排序后的选项是( )A.④①⑤② B.①②③④ C.④①②⑤ D.④①⑤③【答案】D【知识点】计算机解决问题的过程【解析】【解答】计算机编程解决问题的一般过程:④抽象建模①设计算法⑤编写程序③调试运行程序。故答案选D。【分析】本题考查的是计算机解决问题的过程。2.(2019高二下·湖州月考)某算法的部分流程图如图所示,执行这部分流程后,变量a,b的值分别是( )A.3,3 B.3,4 C.6,6 D.7,11【答案】D【知识点】算法的常用表示方法;算法的控制结构【解析】【解答】分析程序,a=2,b=1,b<5,执行yes语句,a=a+b=3,b=a+b=4;b<5,执行yes语句,a=a+b=7,b=a+b=11;b>5,程序结束,故答案选D。【分析】此题主要考查循环结构流程图的应用。流程图描述算法的方法:流程图使用各种特定的图形来描述算法,其中用圆角矩形表示开始和结束,用矩形框表示赋值和处理框,用菱形表示判断框,如果流程线没有回到流程框上面,就是选择结构,如果流程线回到菱形框上面就是循环结构,用箭头表示走向。3.(2021高一下·温州期末)关于python程序设计语言,下列说法不正确的是( )。A.python源文件以***.py为扩展名B.python的默认交互提示符是:>>>C.python只能在文件模式中编写代码D.python具有丰富和强大的模块【答案】C【知识点】计算机语言【解析】【解答】python源文件以***.py为扩展名,python的默认交互提示符是:>>>,python能在文件模式中编写代码,也能在交互模式中编写代码,python具有丰富和强大的模块。故答案选C。【分析】本题考查的是python程序设计语言。Python是一种跨平台、开源、解释型的高级编程语言。Python语言有三个方面的主要特点:语法简洁、粘性扩展、类库丰富。4.(2021高一下·温州期末)语句print( 'abd' > 'abc' and 20%6 = = 10%4 )的结果为( )A.False B.True C.3 D.编译错误【答案】B【知识点】运算符、基本运算与表达式【解析】【解答】 'abd' > 'abc' 值为True,20%6==10%4值为True,逻辑运算符and两边值均为真时值才为真,否则值为假。 'abd' > 'abc' and 20%6 = = 10%4值为True。故答案选B。【分析】本题主要考查的是Python表达式的运算。运算符优先级别排序:算术运算符>=字符运算符>关系运算符>逻辑运算符。5.(2021高一下·温州期末)下列可以作为python变量名的是( )A.'a1' B.6key C.False D.i_f【答案】D【知识点】常量、变量及变量的赋值【解析】【解答】选项A:变量名不能有 ' ;选项B:变量不能以数字开头;选项C:变量名不能是保留字;选项D:i_f可以作为python变量名。故答案选D。【分析】本题考查的是Python变量的命名。Python中的变量名只能由大写字母、数字、下划线组成,不能以数字开头,字母区分大小写,不能使用保留字。6.(2021高一下·温州期末)已知变量x=5,执行语句x*=x+3,变量x的值为( )A.8 B.13 C.28 D.40【答案】D【知识点】运算符、基本运算与表达式【解析】【解答】语句x*=x+3等价于x=x*(x+3)=5*(5+3)=40。故答案选D。【分析】本题考查的是Python表达式的运算。7.(2021高一下·温州期末)表达式12 % 9 和 –12% 9 的结果分别是( )A.1、6 B.3、–3 C.1、–3 D.3、6【答案】D【知识点】运算符、基本运算与表达式【解析】【解答】12除9商1余3,-12除9商-2余6。故答案选D。【分析】本题考查的是Python表达式的运算。%是取余运算。8.(2021高一下·温州期末)有如下python程序段:a="Doing is better than saying ."print(r"\n"+a[ :15])该程序运行后,输出的结果是( )A.直接输出:' \nDoing is better 'B.直接输出:\nDoing is better thC.直接输出:\nDoing is betterD.先换行,然后在新的一行中输出:Doing is better【答案】C【知识点】基本数据结构;基本语句【解析】【解答】r标识 \ 后面的字符不转义,a[ :15]表示从a的右边往左第15位到最左边全部输出。该程序运行后,输出的结果是直接输出:\nDoing is better。故答案选C。【分析】本题考查的是列表及输出语句的应用。列表的切片操作:格式:[start: end: step]。功能:返回从索引位置start到索引位置end且以step为步数的子序列(不包含索引位置end的元素)。9.(2021高一下·温州期末)已知列表:s1=[1,['a','b'],True],执行以下程序:s1=[1,['a','b'],True]s1[0]=s1[0]*2s1.append(('apple','banana'))print(s1[1: ])执行后输出的结果为:( )A.[True, ('apple', 'banana')]B.[ ['a', 'b'], True, ('apple', 'banana')]C.[2,['a', 'b'], True, 1, ['a', 'b'], True]D.[1, ['a', 'b'], True, ('apple', 'banana')]【答案】D【知识点】基本数据结构【解析】【解答】前三行语句执行完,列表s1的元素值分别是2,['a', 'b'], True ,('apple', 'banana'),最后执行语句print(s1[1: ]),输出列表s1除去第一个元素剩下的所有元素,故执行后输出的结果为:[ ['a', 'b'], True, ('apple', 'banana')]。故答案选B。【分析】本题主要考查的是Python列表。列表是包含0个或多个对象的有序序列,用方括号“[ ]”括起来,并用逗号分隔其中的对象(元素)。可以通过索引访问列表中特定位置的元素。列表的切片操作:格式:[start: end: step]。功能:返回从索引位置start到索引位置end且以step为步数的子序列(不包含索引位置end的元素)。10.(2021高一下·温州期末)已知字典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【知识点】基本数据结构【解析】【解答】由字典dict1={1:2, 2:(1,2), (1,2):'b', 'b':'b1','b1':'b2' }可知,'b'的键是(1,2)。要得到字典中的值'b',可以通过语句dict1[(1,2)]。故答案选A。【分析】本题主要考查的是python中字典的应用。字典是Python中唯一内建的映射类型。字典中没有特殊的顺序,但都是存储在一个特定的键(key)下面,键可以是数字,字符串,甚至是元组。11.(2021高一下·温州期末)小王编写了出租车收费的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,12 C.1,6,20 D.3,12,20【答案】C【知识点】分支结构语句及程序实现【解析】【解答】本题程序采用的是条件分支结构,第一个条件是s1<=3,第二个条件是310。最恰当的一组测试数据是1,6,20。故答案选C。【分析】本题考查的是对Python条件分支结构的分析。12.(2021高一下·温州期末)有下面一段程序:p = [ 2, 1, 3, 4, 5 ]c = 0for i in range( 2, 6, 2 ):if p[ i - 2 ] + p[ i -1 ] == p[ i ]:c += 1print( c )执行该段程序后,计算机显示的是( )A.1 B.2 C.3 D.4【答案】A【知识点】分支结构语句及程序实现;循环结构语句及程序实现【解析】【解答】变量i的取值有2、4,当i=2时,满足if条件,c=c+1=1。执行该段程序后,计算机显示的是1。故答案选A。【分析】本题考查的是对Python程序的分析。13.(2021高一下·温州期末)以下程序导入python的math模块,使用math模块下的函数对输入的实数进行向下取整,具体代码如下:①n = input("请输入一个实数:")②print(n3)请完善该代码,上述划线处可选的语句为:( )A.① import math ;② n3=math.floor(float(n)) ;B.① import math;② n3=floor(float(n)) ;C.① import math ;② n3=math.sqrt(float(n)) ;D.① from math import ceil ;② n3=ceil(float(n)) ;【答案】A【知识点】模块【解析】【解答】导入python的math模块,使用import关键字,①填 import math;floor() 返回数字的下舍整数,input接收的数据类型是str类型,需要将其转换为浮点型,②填n3=math.floor(float(n)) 。故答案选A。【分析】本题考查的是Python模块导入。import语句或from-import语句可以将函数所在的模块导入。14.(2021高一下·温州期末)小林编写一段文件读写操作代码,文件如图,代码段如下: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【知识点】程序的调试及运行;基本语句【解析】【解答】首先打开ceshi.txt文件进行写操作,写入python is a programming language.会覆盖之前的内容。运行该代码段后,输出的结果为python is a programming language.。故答案选B。【分析】本题考查的是Python文件读写操作。open( )是文件打开函数,read( )、write( )是文件读写函数。15.(2021高一下·温州期末)执行如下代码:c=0num=[1,2,3,4]def fun(num):global cfor i in range( 5 ) :c+=1num.append(c)return numprint(fun(num), num ,c)则程序执行后输出( )A.[1,2,3,4] [1,2,3,4]B.[1, 2, 3, 4, 5] [1,2,3,4] 0C.[1, 2, 3, 4, 5] [1,2,3,4] 5D.[1, 2, 3, 4, 5] [1, 2, 3, 4, 5] 5【答案】D【知识点】过程与自定义函数;循环结构语句及程序实现【解析】【解答】fun函数接收一个列表num,循环结束后c的值为5,将c追加到列表num中并返回num,num=[1,2,3,4]。fun(num)执行完,返回值num为[1, 2, 3, 4, 5],程序执行后输出程序执行后输出[1, 2, 3, 4, 5] [1, 2, 3, 4, 5] 5。故答案选D。【分析】本题考查的是python循环结构、列表及函数的应用。append命令是将整个对象加在列表末尾。二、操作题16.(2021高一下·温州期末)广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个。编写程序求出这些小朋友的可能人数。实现上述功能的程序如下,请在程序划线处填入合适的代码。 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]【知识点】循环结构语句及程序实现;基本数据结构【解析】【解答】第一空:变量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]。【分析】本题主要考查的是循环结构和列表的应用。append命令是将整个对象加在列表末尾。17.(2021高一下·温州期末)若两个素数之差为2,则该对素数称为双胞胎数,如 3,5 就是一对双胞胎数。编写 python 程序,实现如下功能:输入 n 的值,统计显示 n 以内的所有双胞胎数。程序运行界面如图所示:实现上述功能的程序如下,请在划线处填入合适的代码。import mathdef isprime(x): for i in range(2,int(math.sqrt(x))+1):if x % i = = 0 :f=Falsereturn fn=int(input("请输入一个正整数n:"))c=0k=3while k < = n-2:if isprime( k ) and :c + = 1print("第"+ str( c ) +"对双胞胎数:", k ,'和',k+2) print("共有"+str(c)+"对双胞胎数")【答案】f = True;isprime(k+2);k=k+1 或 k+=1 或 k=k+2 或 k+=2【知识点】过程与自定义函数;模块【解析】【解答】第一空:isprime(x)用来判断x是不是素数,通过用x整除2~int(math.sqrt(x)),如果余数为0则表明该数不是素数,赋值f为假退出循环,f的初值为True,故填:f = True;第二空:若两个素数之差为 2,则该对素数称为双胞胎数,此处判断相差为2的两个数是不是素数,故填:isprime(k+2);第三空:素数都是奇数,此处需要更新k的值继续循环判断,可以将k的值递增1或递增2,故填:k=k+1 或 k+=1 或 k=k+2 或 k+=2。【分析】本题主要考查的是模块以及自定义函数的应用。18.(2021高一下·温州期末)小王编写了“字符串缩写”程序,实现如下功能: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 = Trueelif 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【知识点】基本数据结构;常用标准函数【解析】【解答】第一空:isprime(x)用来判断x是不是素数,通过用x整除2~int(math.sqrt(x)),如果余数为0则表明该数不是素数,赋值f为假退出循环,f的初值为True,故填:f = True。第二空:若两个素数之差为 2,则该对素数称为双胞胎数,此处判断相差为2的两个数是不是素数,故填:isprime(k+2)。第三空:素数都是奇数,此处需要更新k的值继续循环判断,可以将k的值递增1或递增2,故填:k=k+1 或 k+=1 或 k=k+2 或 k+=2。【分析】本题主要考查的是字符串的操作。ord( ):返回对应字符的ASCII数值1 / 1 展开更多...... 收起↑ 资源列表 浙江省温州市2020-2021学年高一下学期信息技术期末考试试卷(学生版).docx 浙江省温州市2020-2021学年高一下学期信息技术期末考试试卷(教师版).docx