一、单选题
(共25题,共50分)
1) 请选择,下面代码运行之后的结果是? ( )
a =’2'
b =’4'
try:
c = a * b
print(c)
except:
print('程序出错!’)
else:
print(’程序正确!’)
查看答案
2) 下面程序执行结果是? ( )
a=[’春’,’夏’,’秋’,’冬’]
c=list(enumerate(a))
print(c)
A. [(0,’春’),(1,’夏’),(2,’秋’),(3,’冬’)] B. [[0,’春’],[1,’夏’],[2,’秋’],[3,’冬’]] C. [(1,’春’),(2,’夏’),(3,’秋’),(4,’冬’)] D. [[1,’春’],[2,’夏’],[3,’秋’],[4,’冬’]]
查看答案
3) 下面程序执行结果是? ( )
s='123456789'
print(min(s)+max(s))
查看答案
4) 打开 b.txt文件,将”Hello Tom!”写入文件,下列语句正确的是? ( )
查看答案
5) 下列数据中,最大的数值是? ( )
查看答案
6) 十六进制数 7E 转换为二进制数是几位数? ( )
查看答案
7) 表达式 int('13',8) 的返回值是? ( )
查看答案
8) 有如下代码:
res =[]
f =open('Python08.txt’,’r') #Python08.txt 中共4行诗句
p =f.readlines()
for s in p
res.append(s)
print(res)
f.close()
对于该段代码,说法不正确的是? ( )
查看答案
9) 有代码如下:
s=[”白日依山尽”,"黄河入海流”,”欲穷千里目”,”更上一层楼"]
f=open('sj.txt',’w')
f.write('\n'.join(s))
f.close()
关于上述代码,说法不正确的是? ( )
查看答案
10) 编写程序代码时,我们经常会犯错,对于Python 的异常处理,描述正确的是? ( )
查看答案
11) 若 scores=”9,7,8,9,6,5”, 则 list(scores) 的结果是? ( )
A. [9,7,8,9,6,5] B. ['9','7',’8','9','6','5'] C. ['9',',’,'7',’,',’8',',',’9',',','6',',','5'] D. 9,7,8,9,6,5
查看答案
12) 下列表达式的结果为 True 的是? ( )
查看答案
13) 下列有关于函数的说法,正确的是? ( )
查看答案
14) 下列表达中,和range(8) 的结果相同的是? ( )
查看答案
15) 已知x,y,z=map(int,[’20',’2’,’3’]),则表达式 x+y+z 的结果是? ( )
查看答案
16) 《孙子算经》是我国古代重要的数学著作,其中有一题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”小王同学用 Python 编写了如下程序:
x=1
while x>0:
if not( )
x+=1
else:
print(x)
x+=1
关于上述程序,下列说法不正确的是? ( )
查看答案
17) 下列关于二维数据的描述,正确的是? ( )
查看答案
18) 使用open 函数打开某个 CSV 格式文件后,如果要将整个文件里的内容读取到一个列表中,需要使用以下文件对象的哪个函数? ( )
查看答案
19) abs() 是Python 的内置函数,执行 abs(-1.00) 语句返回的结果是? ( )
查看答案
20) divmod() 是 Python 的内置函数。对应变量x 和 y, divmod(y,x) 返回的结果是? ( )
查看答案
21) 在交互式编程环境下执行 a=input(”请输入考试成绩:“)语句后,通过数字键盘输入数值89.5。输入完成后,查看变量 a 的数据类型,会是下列哪一种? ( )
查看答案
22) 执行 print(list(range(4))) 语句后,显示的结果是? ( )
A. [0,1,2,3] B. [1,2,3,4] C. [0,0,0,0] D. [”,”,”,”]
查看答案
23) 暴力破解是一种常见的网络攻击行为,它采用反复试错的方法去尝试破解用户的密码。这种黑客工具主要使用以下哪种算法进行设计? ( )
查看答案
24) 对一组数据”6,1,3,2,8”进行排序,按从小到大的顺序进行排列,使用冒泡算法进行编程,则第一轮过后,排序的结果是? ( )
A. 1,6,3,2,8 B. 1,3,6,2,8 C. 1,3,2,6,8 D. 1,2,3,6,8
查看答案
25) 二进制数11110010转换为十六进制数是? ( )
查看答案
二、判断题
(共10题,共20分)
26) 下列这段代码能够正常运行。对吗? ( )
while True:
a=input('请输入一个整数,若不是整数将会让你重新输入: ')
try:
b=int(a)
except:
print('你输入的不是整数!将返回重输。')
else:
print('你输入的是整数,程序结束。’)
break
查看答案
27) 一组有n 个元素的数列,如采用顺序查找法找到数列中的某一个元素,平均查找次数为 (n+1)/2 次。( )
查看答案
28) 十进制数转十六进制数以后,位数一定变少了。 ( )
查看答案
29) 二进制数1101011011转换成十六进制数是35B。 ( )
查看答案
30) 使用 open()方法一定要保证关闭文件对象,即调用close()方法。 ( )
查看答案
31) 下列代码的功能是读取文件中的数据到列表。 ( )
file=open('fruits.csv','r')
name=file.read().strip('\n').split(',')
file.close()
查看答案
32) 本段代码最后还缺少一条’f.close()’语句以关闭文件。 ( )
a=['shanghai’,'beijing','tianjin','chongqing','hangzhou']
with open('city.csv','w') as f:
f.write(','.join(a)+'\n')
查看答案
33) sort() 与 sorted() 函数的区别在于前者默认是升序,后者默认是降序。 ( )
查看答案
34) round() 函数属于数学函数,可用于近似保留小数位数。 ( )
查看答案
35) sum() 函数不仅可以对列表数据进行求和,也可以对元组数据进行求和。 ( )
查看答案
三、编程题
(共3题,共30分)
36) 某班级期中考试成绩汇总在文件“score.csv” 中,包含了语文、数学、英语三科的分数,数据内容如下图显示:
小明编写了如下程序,读取成绩文件中的数据,并分别计算语文、数学、英语三科成绩的平均分,请你补全代码:
import csv
ChineseNum=0
MathNum=0
EnglishNum=0
num=0
with open('/data/score.csv',encoding='utf-8') as csv_file:
row = csv.reader(csv_file,delimiter=',')
next(row) # 读取首行
for r in row:
ChineseNum += float(__________①_________)
MathNum += float(__________②__________)
EnglishNum += float(_________③___________)
num += (_____________④______________)
print(“语文平均成绩是:%.2f”%(ChineseNum/num))
print(“数学平均成绩是:%.2f”%(MathNum/num))
print("英语平均成绩是:%.2f"%(EnglishNum/num))
查看答案
37) 新学期到了,学校接收了一批捐赠的图书,小明编写了一个简单的程序用来管理图书,并支持借阅功能。 为了提高查找图书的效率,小明使用了二分查找法来设计图书借阅功能。以下是小明编写的图书借阅管理程序,请你补全代码。
library=dict() #用字典生成一个图书管理数据结构(字典的键为编号,字典的值为[’书名’,本数])
#书籍入库
nums=len(library) #先计算图书编号总数
library[nums+1]=[’红楼梦’,5] #在编号总数的基础上继续添加新书: library[新编号]=[’书名’,本数]
library[nums+2]=[’西游记’,10]
library[nums+3]=[’水浒传’,5]
library[nums+4]=[’三国演义’,10]
print(library)
blist=list(library.keys())
#按书名借阅:
bookname=input( '请输入借阅图书名称:’)
min_v =blist[o]
max_v=blist[-1]
turns=0
while min_v <= _____________①___________________ turns += 1 cur = (min_v +max_v) ____________②________________ print(cur) if library[cur][o]== ____________③_______________ if library[cur][1] > 0:
library[cur][1] -= __________④___________
print(’《%s》借阅成功!’%bookname)
else:
print(抱歉,您选择的书籍已被借完!’)
break
elif blist[cur-1]>cur:
min_v = ___________⑤________________
else:
max_v = _______________⑥______________
print("经过%d 轮二分查找,完成图书的搜索。"%turns)
查看答案
38) 某班“天天向上”小组共有6个同学,姓名和身高数据分别存放在列表a 中,编写程序实现小组同学按身高从高到低输出名单,运行结果如图所示:
程序代码如下,请在划线处补充完整:
a=[[“李洪全”,135],[”王倩倩”,154],[”吴乐天”,148],[”周立新”,165],[”鲁正”,158],[”杨颖颖”,150]]
for i in range(1,len(a)):
for j in range(0, ___________①_____________):
if a[j][1] _________②__________ a[j+1][1]:
a[j],a[j+1]=a[j+1],a[j]
print(" 小组名单是:")
for i in range(len(a)):
print(________③__________)
查看答案