前端开发学习网站,汽车网站模板下载,wordpress 书,旅游网站建设和开发Python等级考试#xff08;1~6级#xff09;全部真题・点这里 一、单选题#xff08;共25题#xff0c;每题2分#xff0c;共50分#xff09;
第1题
如下所示的2行代码#xff0c;最后print()函数打印出来的结果是#xff1f;#xff08; #xff09;
c [[赵大,… Python等级考试1~6级全部真题・点这里 一、单选题共25题每题2分共50分
第1题
如下所示的2行代码最后print()函数打印出来的结果是
c [[赵大,21,男,北京],[钱二,20,男,西安],[孙三,18,女,南京],[李四,20,女,杭州]]
print(c[1][3])A: 女 B: 北京 C: 西安 D: 男
答案C
根据给定的代码c 是一个包含四个子列表的列表。每个子列表都包含四个元素姓名、年龄、性别和城市。
c[1][3] 表示访问列表 c 中索引为 1 的子列表的索引为 3 的元素。根据给定的列表 cc[1] 是 [‘钱二’,20,‘男’,‘西安’]而 c[1][3] 是该子列表的索引为 3 的元素即 ‘西安’。
第2题
要读取下图“书目.csv”文件的全部内容小明编写了后面4行代码。请问红色①处应该填写哪种打开模式 f open(书目.csv , ① )
a f.read()
print(a)
f.closeA: “w” B: “a” C: “r” D: “a”
答案C
考查学生对open()函数参数的掌握。本题除了选项C填写打开模式为只读r之外参数W会清除文件内容显然不对参数a与a指针在末尾读不出内容也不对。
第3题
下图所示有一个名为书目.csv的文件。小明针对这个文件编写了5行代码 请问代码运行到最后打印在屏幕上的结果是 with open(书目.csv, r, encodingutf-8) as f:for line in f.readlines():a line.split(,)if a[0] 水浒传 :print(a[1])A: 老残游记 B: 172 C: 55 D: 70
答案D
本题考查学生对列表切片中每个数据位置的理解 。此题中的a[1]应该对应水浒传的价格所以正确答案是70。
第4题
小明编写了下列4行代码请问代码运行到最后屏幕上打印出来的结果是
a [a,b,c]
b [1,2,3]
c [b,a]
print(c[1][0])A: 1 B: a C: ‘1’ D: ‘a’
答案B
考查学生对嵌套列表中元素位置的理解。同时考查学生对用已有列表创建新列表的理解。
第5题
下图左边的“身体素质.csv”文件要打印成下图右边的效果每个字段之间相隔一个TAB键的距离。小明编写了如下代码请选择代码中横线处的内容 f open(身体素质.csv, r)
a []
for i in f:a.append(i.strip(\n).split(,))
f.close
for x in a:linefor y in x:line { } .format(y)print(line)A: \t B: \n C: \a D: \r
答案A
\t插入一个TAB键的距离。
第6题
在Python异常处理结构中如果程序执行没有遇到异常错误不会执行什么关键字后面的语句体
A: try B: except C: else D: finally
答案B
在异常处理程序中没有错误异常就跳过except语句体的执行。
第7题
运行下列程序输出的结果是
try:aint(input())bint(input())ra/bprint(商是:,r)
except:print(错误)
else:print(正确)
finally:print(结束)当输入 16 8
A: 错误 B:
商是: 2.0 正确 C:
商是: 2 正确 结束 D:
商是: 2.0 正确 结束
答案C
辨析异常处理的执行程序过程如果try正确就到else如果try错误就到except最后都要执行finally。
第8题
Python中将十进制20转化成八进制我们可以使用下列哪个表达式
A: bin(20) B: int(20) C: oct(20) D: hex(20)
答案C
用python中的数制转换函数进行十进制与八进制的转换
第9题
下列进制转换正确的是
A: 0x14转化为十进制,结果是20。 B: 20转化成八进制结果是0o20。 C: 0x14转化为十进制,结果是22。 D: 20转化成八进制结果是0o30。
答案A
二进制、十进制、十六进制的概念及互相转换并且会使用Python中的数制转换函数。
第10题
关于二进制、八进制、十六进制与十进制相互转换下列说法正确的是
A: 十六进制转化为十进制可以使用除16求余数再顺序输出。 B: 二进制转化为十进制可以使用除2求余数再逆序输出。 C: 十六进制转化为十进制可以使用除16求余数再逆序输出。 D: n位二进制能表示的最大十进制数是2的n次方减一。
答案D
理解n位二进制能表示的最大十进制数是2的n次方减一。
第11题
将十进制2022转化成十六进制可以使用下列哪个表达式
A: bin(2022) B: int(2022) C: oct(2022) D: hex(2022)
答案D
hex(2022)运行结果是’0x7e6’为十六进制。
第12题
abs(-4.8)运行的结果是
A: 4.8 B: -4 C: -5 D: 5
答案A
abs()是求绝对值函数。
第13题
关于ord( )函数与chr( )函数下列说法正确的是
A: ord( )函数的参数是整数。 B: ord( )函数的参数是字符串类型。 C: chr( )函数的参数是字符串类型。 D: chr( )函数返回的数据类型是int。
答案B
ord( )函数是返回字符所对应的ASCII值。因此其参数为字符串类型。chr()函数是将对应的ASCII值转换为相应字符。其参数为数值。
第14题
运行下列程序输出的结果是
a[34,7,8,23]
max(a)abs(-5)A: 12 B: 13 C: 18 D: 39
答案D
max是求最大值abs()是求绝对值。故程序的功能是将34与5相加。
第15题
set(‘小明你好’)运行的结果是
A: [‘好’, ‘你’, ‘明’, ‘小’] # 列表中文字顺序不固定 B: (‘好’, ‘你’, ‘明’, ‘小’) #元组中文字顺序不固定 C: {‘好’, ‘你’, ‘明’, ‘小’} #集合中文字顺序不固定 D: {‘你’, ‘好’, ‘小’, ‘明’} #文字顺序固定
答案C
set()函数可将文本转为集合集合的特点是元素顺序不固定所以正确答案是C。
第16题
如下程序
a[5,10,32,7]for i in a:print(i,”:”,bin(i))该程序段的功能是
A: 分别输出5,10,32,7的二进制数。 B: 分别输出5,10,32,7的八进制数。 C: 分别输出5,10,32,7的在列表中的索引位置。 D: 分别输出5,10,32,7的十六进制数。
答案A
bin() 转换为二进制,oct() 转换为八进制hex() 转换为十六进制。故程序功能是将列表中数字一一转换为对应的二进制数。
第17题
下列表达式的值最大的选项是
A: len([1,2,3,4,5,789]) B: max([78,6,5,67] ) C: abs(-90) D: round(38.4)
答案C
len()表示求长度为6max()表示求最大值为78abs()求绝对值为90round表示四舍五入小数位数参数省略表示保留到整数位为38。
第18题
divmod(6,2)的运行结果是
A: 8 B: 4 C: 3,0 D: 0,3
答案C
divmod(6,2)返回包含商和余数的元组即3,0。
第19题
如果不知道对象的数据类型我们可以使用什么函数查看
A: type B: dir() C: set() D: help()
答案A
type()函数返回对象的类型。
第20题
运行下列程序输出的结果是
x7
print(eval(“x4”))A: 输出”x4” B: 输出数字11 C: 输出“74” D: 程序出错
答案B
eval() 函数用来执行一个字符串表达式并返回表达式的值因此输出74的计算结果。
第21题
关于enumerate()函数的说法不正确的是
A: 该函数是Python内置函数。 B: 该函数可用于判断数据类型是否是数值类型。 C: 该函数可将一个可遍历对象按照设置的序号组合成一个索引序列。 D: 该函数通常用在for循环中可返回一个内部由一个个元组组成的列表。
答案B
enumerate()函数是Python的内置函数可以将一个可遍历/可迭代对象按照设置的序号组成一个索引序列通常结合for循环使用返回一个列表内部由序号和原有元素组成的元组组成。
第22题
enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列。下列程序
example 7890
for i,j in enumerate(example):print(i,j)运行后的输出结果是
A:
0,7
1,8
2,9
3,0B:
0 7
1 8
2 9
3 0C:
0 7
1 8
2 9
3 0D:
0,7
1,8
2,9
3,0答案C
本题考查学生对enumerate()函数的理解与掌握正确答案是选项C。
第23题
关于算法描述的三种基本结构下列哪项正确
A: 顺序结构、选择结构、循环结构。 B: if选择结构、for循环、while循环。 C: 处理框、判断框、流程线。 D: 自然语言、流程图、程序设计语言。
答案A
算法描述的三种基本结构是顺序结构、选择结构和循环结构。它们是算法设计中最基本的控制结构用于组织和控制程序的执行流程。
顺序结构是按照代码的编写顺序依次执行每条语句没有分支和循环。
选择结构使用条件判断语句如 if 语句根据条件的真假来选择不同的执行路径。根据条件的结果可以选择执行某个代码块或跳过该代码块。
循环结构使用循环语句如 for 循环、while 循环来重复执行一段代码直到满足退出循环的条件。
因此选项 A: 顺序结构、选择结构、循环结构 是正确的描述。
第24题
“韩信点兵”是一个古老的数学问题可以应用中国剩余定理进行求解。以下是使用计算机解决“韩信点兵”问题的几个步骤 ①编写Python程序用计算机进行处理。 ②设计“韩信点兵”求解算法。 ③验证算法的功能和性能。 ④分析问题确定解题任务。 使用计算机解决“韩信点兵”问题正确的步骤是下列哪一项
A: ②④①③ B: ④①②③ C: ④②③① D: ④②①③
答案D
解决韩信点兵问题的正确步骤如下
④ 分析问题确定解题任务。首先需要理解韩信点兵问题的要求和条件明确需要解决的任务。
② 设计韩信点兵求解算法。根据问题的要求和条件设计一个算法来解决韩信点兵问题。这个算法可以基于中国剩余定理等数学方法。
① 编写Python程序用计算机进行处理。在了解问题要求后编写Python程序来实现解决算法。
③ 验证算法的功能和性能。通过测试和验证程序的功能和性能确保算法能够正确解决韩信点兵问题并且在合理的时间范围内执行。
因此正确的步骤是 D: ④②①③。
第25题
小明使用Python编程模拟绘制了物体在自由落体运动过程中产生的抛物线轨迹。小明设计的这一算法属于下列哪一种
A: 枚举算法 B: 解析算法 C: 排序算法 D: 对分查找算法
答案B
解析算法是一种通过分析问题的数学模型和公式通过计算和推导来解决问题的算法。在这种情况下小明使用了物体自由落体的物理公式和运动学方程通过计算和绘制抛物线轨迹来模拟物体的运动过程。
二、判断题共10题每题2分共20分
第26题
小明编写了代码一小红看到后说“我写的代码二打印出来的结果与小明的代码一相同”。请判断小红所说对吗 代码一
f open(成绩.csv, r)
for i in f:a i.strip(\n).split(,)print(a)
f.close代码二
f open(成绩.csv, r)
a []
for i in f:a.append(i.strip(\n).split(,))
f.close
print(a)答案错误
小明的代码一每次循环都会读取文档的下一行并将该行用英文逗号切分成列表再打印出来小红的代码二是读取每一行以英文逗号切分为列表并追加到列表变量a的尾巴后面最后再打印变量a。两者打印出的结果不同。
第27题
有一个名为“身体素质.csv”的文件内容为学生的姓名、身高和体重文件内容如下
李四,127,32
王五,131,34
赵六,129,33小明想编写代码在整个文件的首行插入数据“张三,133,36”他编写了如下代码请判断代码能正确运行吗
f open(身体素质.csv, a)
f.seek(0,0) #用seek()方法将文件指针移动到整个文件的最前面。
f.write(张三,133,36\n)
f.close()答案错误
open()函数的参数’a’是追加数据到文件末尾seek()函数虽然能移动读取文件时的指针位置但并不能移动写入文件时的位置所以答案为错误。
第28题
使用异常处理的方式执行程序时当try里面的程序出现数据类型输入错误时执行except ZeroDivisionError下面的语句当try里面的程序出现除数为零的错误时执行except ValueError下面的语句。
答案错误
当try里面的程序出现数据类型输入错误时执行except ValueError下面的语句当try里面的程序出现除数为零的错误时执行except ZeroDivisionError下面的语句。
第29题
八进制数0o10转化成十六进制数为0x8。
答案正确
二进制、十进制、十六进制的概念及互相转换并且会Python中的数制转换函数。
第30题
执行代码print(type(0x20))运行结果是。
答案正确
了解八进制数也是一个整型
第31题
divmod函数执行结果是返回一个包含商和余数的元组。
答案正确
divmod() 函数是一个内置函数在Python中用于执行整数除法并返回一个包含商和余数的元组。该函数接受两个参数分别是被除数和除数。它返回的元组的第一个元素是商第二个元素是余数。
例如使用 divmod(10, 3) 进行计算结果为 (3, 1)其中 3 是商1 是余数。
第32题
all函数用于判断给定的可迭代参数中的所有元素是否都为False,若是返回True,否则返回False。
答案错误
all函数用于判断给定的可迭代参数中的所有元素是否都为True,若是返回True,否则返回False。
第33题
any()函数用于判断给定的可迭代参数中的所有元素是否都为True,若是返回True,否则返回False。
答案错误
any()函数用于判断给定的可迭代参数中的所有元素是否都为False,若是返回False,否则返回True。
第34题
有查看函数或模块说明功能的函数是help()。
答案正确
help()函数主要用于查看函数或模块用途的详细说明返回对象是帮助信息。
第35题
小明编写了如下所示的3行代码
list1 [赵,钱,孙,李,周,吴,郑,王]
print(list1[1:-4])
print(list1[1:4]) 小红看到代码后说“小明你这代码第2行与第3行两次运行的print()函数结果完全相同呀。” 请判断小红所说是否正确
答案正确
考查学生对列表切片时切片起始位置、终止位置的理解。本题运行结果2行Print()都会打印出[‘钱’, ‘孙’, ‘李’]所以小红所说是正确的。
三、编程题共3题共30分
第36题
小明用冒泡排序算法编写了一段代码请帮他把代码中红色标记的①②③处补充完整。
a [8,4,2,11,3,9]
n len(a)
for i in range(0, ① ):for j in range(0, ② ):if a[j]a[ ③ ]:a[j],a[j1] a[j1],a[j]
print(a)答案
a [8, 4, 2, 11, 3, 9]
n len(a)
for i in range(0, n): # ① 将范围修改为 nfor j in range(0, n - i - 1): # ② 将范围修改为 n - i - 1if a[j] a[j 1]: # ③ 修改为 j 1a[j], a[j 1] a[j 1], a[j]
print(a)冒泡排序算法的基本思想是通过相邻元素的比较和交换将最大或最小的元素逐步“冒泡”到数组的末尾。其中外层的循环控制每一轮的比较次数内层的循环用于相邻元素的比较和交换。
在给定的代码中需要将红色标记的部分补充完整
① 将范围修改为 n比较所有元素。
② 将范围修改为 n - i - 1因为每一轮比较后最大的元素已经冒泡到了数组的末尾所以不需要再比较。
③ 将 a[j] 后面的索引修改为 j 1即相邻元素的比较。
这样补充完整后的代码就可以正确地执行冒泡排序并输出排序后的数组。
第37题
下面程序按字典序列统计出单词的个数执行结果如下
are:2
first:2
happy:1
is:3
your:2请补全下列代码中的①②③④四处。
a[is,happy,is,your,are,first,first,is,are,your]
nlen(a)-1
for i in range(0,n):for j in range(i1,n1):if a[i]a[j]:①
keya[0]
i1
ans1
while in:if keya[i]:② i1else:print(a[i-1]:str(ans))keya[i]③ i1④ 答案
a [is, happy, is, your, are, first, first, is, are, your]
n len(a) - 1
for i in range(0, n):for j in range(i 1, n 1):if a[i] a[j]:a[i], a[j] a[j], a[i] # ① 交换位置
key a[0]
i 1
ans 1
while i n:if key a[i]:ans 1 # ② 统计个数i 1else:print(a[i - 1] : str(ans))key a[i]ans 1 # ③ 重置个数i 1
print(a[n] : str(ans)) # ④ 输出最后一个单词的个数给定的代码中首先对列表 a 执行了字典序排序然后通过遍历统计每个单词的个数并输出。
补全的部分如下
① 通过交换位置来实现字典序排序。
② 在循环中统计相同单词的个数。
③ 当遇到不同的单词时输出上一个单词的个数并重置个数。
④ 循环结束后输出最后一个单词的个数。
这样补全的代码就可以正确地按字典序统计出单词的个数并输出结果。
第38题
请读取文件cj.csv的数据数据内容如下图所示 下列代码实现了读取“姓名”和“体质测试”信息输出“体质测试”考核为A的数量大于等于85分并显示相应同学姓名请你补全代码。
import csv
with open(cj.csv) as f:rows list( ① )n0for row in rows[1:]:if ② :print(row[0])n1
print(n) 答案
import csv
with open(cj.csv) as f:rows list(csv.reader(f)) # ① 读取CSV文件的每一行数据n 0for row in rows[1:]:if int(row[1]) 85: # ② 判断体质测试成绩是否大于等于85print(row[0]) # 输出相应同学的姓名n 1
print(n)在给定的代码中我们使用了csv模块来读取CSV文件。补全的部分如下
① 使用 csv.reader() 函数将文件对象 f 转换为一个列表其中每个元素代表CSV文件中的一行数据。
② 判断体质测试成绩是否大于等于85分如果是则输出相应同学的姓名。
最后通过变量 n 统计体质测试考核为A的数量并输出结果。
补全后的代码可以读取文件cj.csv的数据输出体质测试考核为A的数量并显示相应同学的姓名。