浙江省温州市2020-2021学年高一下学期信息技术期末考试试卷

资源下载
  1. 二一教育资源

浙江省温州市2020-2021学年高一下学期信息技术期末考试试卷

资源简介

浙江省温州市2020-2021学年高一下学期信息技术期末考试试卷
一、选择题
1.(2021高一下·温州期末)①设计算法,②描述算法,③调试运行程序,④抽象建模,⑤编写程序。从以上这些过程选出属于用计算机编程解决问题的一般过程,并正确排序后的选项是(  )
A.④①⑤② B.①②③④ C.④①②⑤ D.④①⑤③
2.(2019高二下·湖州月考)某算法的部分流程图如图所示,执行这部分流程后,变量a,b的值分别是(  )
A.3,3 B.3,4 C.6,6 D.7,11
3.(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_f
6.(2021高一下·温州期末)已知变量x=5,执行语句x*=x+3,变量x的值为(  )
A.8 B.13 C.28 D.40
7.(2021高一下·温州期末)表达式12 % 9 和 –12% 9 的结果分别是(  )
A.1、6 B.3、–3 C.1、–3 D.3、6
8.(2021高一下·温州期末)有如下python程序段:
a="Doing is better than saying ."
print(r"\n"+a[ :15])
该程序运行后,输出的结果是(  )
A.直接输出:' \nDoing is better '
B.直接输出:\nDoing is better th
C.直接输出:\nDoing is better
D.先换行,然后在新的一行中输出:Doing is better
9.(2021高一下·温州期末)已知列表:s1=[1,['a','b'],True],执行以下程序:
s1=[1,['a','b'],True]
s1[0]=s1[0]*2
s1.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=10
elif 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
12.(2021高一下·温州期末)有下面一段程序:
p = [ 2, 1, 3, 4, 5 ]
c = 0
for i in range( 2, 6, 2 ):
if p[ i - 2 ] + p[ i -1 ] == p[ i ]:
c += 1
print( c )
执行该段程序后,计算机显示的是(  )
A.1 B.2 C.3 D.4
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)) ;
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=0
num=[1,2,3,4]
def fun(num):
global c
for i in range( 5 ) :
c+=1
num.append(c)
return num
print(fun(num), num ,c)
则程序执行后输出(  )
A.[1,2,3,4] [1,2,3,4]
B.[1, 2, 3, 4, 5] [1,2,3,4] 0
C.[1, 2, 3, 4, 5] [1,2,3,4] 5
D.[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 + = 1
print("这群小朋友总的人数有:")
for j in range(len(a)):
print(   ,end='、')
print('')
print('可能情况数为:',total,'种')
17.(2021高一下·温州期末)若两个素数之差为
2,则该对素数称为双胞胎数,如 3,5 就是一对双胞胎数。编写 python 程序,实现如下功能:输入 n 的值,统计显示 n 以内的所有双胞胎数。程序运行界面如图所示:
实现上述功能的程序如下,请在划线处填入合适的代码。
import math
def isprime(x):
   
for i in range(2,int(math.sqrt(x))+1):
if x % i = = 0 :
f=False
return f
n=int(input("请输入一个正整数n:"))
c=0
k=3
while k < = n-2:
if isprime( k ) and    :
c + = 1
print("第"+ 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 = False
result=" "
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)
答案解析部分
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 th
C.直接输出:\nDoing is better
D.先换行,然后在新的一行中输出: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]*2
s1.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=10
elif 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 = 0
for i in range( 2, 6, 2 ):
if p[ i - 2 ] + p[ i -1 ] == p[ i ]:
c += 1
print( 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=0
num=[1,2,3,4]
def fun(num):
global c
for i in range( 5 ) :
c+=1
num.append(c)
return num
print(fun(num), num ,c)
则程序执行后输出(  )
A.[1,2,3,4] [1,2,3,4]
B.[1, 2, 3, 4, 5] [1,2,3,4] 0
C.[1, 2, 3, 4, 5] [1,2,3,4] 5
D.[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 + = 1
print("这群小朋友总的人数有:")
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 math
def isprime(x):
   
for i in range(2,int(math.sqrt(x))+1):
if x % i = = 0 :
f=False
return f
n=int(input("请输入一个正整数n:"))
c=0
k=3
while k < = n-2:
if isprime( k ) and    :
c + = 1
print("第"+ 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 = False
result=" "
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
【知识点】基本数据结构;常用标准函数
【解析】【解答】第一空: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

展开更多......

收起↑

资源列表