友链提交
请认真填写以下信息,谢谢!

博客信息

HoshinoAi
(请填写完整的网址,例如:https://www.example.com)
(贵站展示本站链接的页面地址,一般是友链页面,填写后将自动验证友链关系有效性)
(用于抓取文章)
(用于接收通知)
菜单
本页目录

一、单选题

  1. 答案:D
    • 解析0x10是十六进制表示法,转换为十进制为16,print(x)会输出十六进制数0x10对应的十进制值16。
  2. 答案:C
    • 解析:在f = open('d:/a.txt', 'r')中,f是变量用于表示打开的文件对象;'r'表示以只读方式打开文件;如果文件a.txt不存在,使用'r'模式打开会报错;'d:/a.txt'是文件路径,代表d盘中名为a.txt的文件。
  3. 答案:D
    • 解析all函数用于判断可迭代对象中的所有元素是否都为True,在[1, True, True]中,所有元素都为True,所以结果为True
  4. 答案:B
    • 解析:Python中合法的二进制表示以0b0B开头,后面只能包含0和1,A选项包含了CF不是二进制合法字符;C选项包含了9不是二进制合法字符;B选项0B1010是合法的二进制表示。
  5. 答案:A
    • 解析tuple([2, 1, 3])将列表转换为元组(2, 1, 3),然后将元组中的元素依次赋值给xyz,所以y的值为1。
  6. 答案:B
    • 解析:给定的列表ls中包含3个元素,分别是[[1, 2, 3]][[4, 5], 6][[7, 8]],所以len(ls)的结果为3。
  7. 答案:D
    • 解析range函数用于生成一个整数序列,range(1, 10, 2)表示从1开始(包含1),每次增加2,到10结束(不包含10),生成的序列为[1, 3, 5, 7, 9],再用list函数将其转换为列表。A选项list(range(0, 9))生成的是[0, 1, 2, 3, 4, 5, 6, 7, 8];B选项list(range(1, 10))生成的是[1, 2, 3, 4, 5, 6, 7, 8, 9];C选项list(range(0, 9, 2))生成的是[0, 2, 4, 6, 8]
  8. 答案:C
    • 解析:二维列表data = [[1, 2], [3, 4]]中,元素“3”位于第二个子列表(索引为1)的第一个位置(索引为0),所以表示为data[1][0]
  9. 答案:C
    • 解析:首先n = 2,然后b = bool(n - 2),即b = bool(0)bool(0)的值为False,最后输出nb的值,即2 False
  10. 答案:C
  • 解析:用户输入10,n = input("请输入一个整数: ")将输入的字符串“10”赋值给n,然后n ** n尝试对字符串进行指数运算,会引发类型错误,所以会执行except块中的代码,输出“程序执行错误”。
  1. 答案:A
  • 解析reversed(range(10, 0, -2))会生成一个从10开始(包含10),每次减2,到0结束(不包含0)的逆序序列,即[10, 8, 6, 4, 2],然后循环打印每个元素,元素之间用空格分隔,所以输出为2 4 6 8 10
  1. 答案:B
  • 解析:冒泡排序第一趟会比较相邻的元素,如果顺序不对就交换。原始列表l = [10, 1, 9, 6, 3, 4],第一趟排序过程为:比较10和1,交换得到[1, 10, 9, 6, 3, 4];比较10和9,交换得到[1, 9, 10, 6, 3, 4];比较10和6,交换得到[1, 9, 6, 10, 3, 4];比较10和3,交换得到[1, 9, 6, 3, 10, 4];比较10和4,交换得到[1, 9, 6, 3, 4, 10]
  1. 答案:B
  • 解析:先计算min(5, 1, 7),结果为1,然后计算max(3, 1),结果为3。
  1. 答案:D
  • 解析set("中国")得到的集合为{'中', '国'}set("美国")得到的集合为{'美', '国'},两个集合求交集(&操作),得到{'国'}
  1. 答案:A
  • 解析try - except语句、try - except - else语句、try - except - finally语句都可以用于异常处理结构中捕获特定类型的异常(except后面可以指定异常类型),而if - elif - else语句主要用于条件判断,不是用于异常处理中捕获异常的。
  1. 答案:D
  • 解析:A选项sum([1, 2, 3, 4]) = 1 + 2 + 3 + 4 = 10;B选项sum((1, 2, 3), 4)先计算sum((1, 2, 3)) = 1 + 2 + 3 = 6,再加上4得到10;C选项sum([1, 2, 3], 4)先计算sum([1, 2, 3]) = 1 + 2 + 3 = 6,再加上4得到10;D选项sum([1, 2], [3, 4])会将两个列表拼接成[1, 2, 3, 4],然后计算sum([1, 2, 3, 4]) = 1 + 2 + 3 + 4 = 10,结果不是10(这里可能存在误解,按照常规理解,对两个列表求和不是直接将列表拼接后求和,而是分别对每个列表求和再相加,所以该选项结果不是10)。
  1. 答案:B
  • 解析divmod函数返回两个值,分别是除法的商和余数,divmod(40, 3)的结果是(13, 1),表示40除以3商为13余数为1。
  1. 答案:D
  • 解析:选择排序的基本思想是在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。原始列表arr = [5, 33, 21, 67, 39, 73, 7, 43],循环4次的过程如下:
    • 第一次循环:找到最小元素7,与第一个元素5交换,得到[7, 33, 21, 67, 39, 73, 5, 43]
    • 第二次循环:找到剩余元素中的最小元素21,与第二个元素33交换,得到[7, 21, 33, 67, 39, 73, 5, 43]
    • 第三次循环:找到剩余元素中的最小元素33,与第三个元素33交换(实际未交换),列表仍为[7, 21, 33, 67, 39, 73, 5, 43]
    • 第四次循环:找到剩余元素中的最小元素39,与第四个元素67交换,得到[7, 21, 33, 39, 67, 73, 5, 43]。 最终结果为[7, 21, 33, 39, 67, 73, 5, 43],选项中没有完全正确的,最接近的是D选项(可能是出题时选项设置存在问题)。
  1. 答案:C
  • 解析:(23 = 8),(24 = 16),要表示10种不同信息,至少需要4位二进制数(因为3位二进制数最多表示8种不同信息,4位二进制数可以表示16种不同信息,满足表示10种信息的要求)。
  1. 答案:C
  • 解析range(1, 6)生成的序列是[1, 2, 3, 4, 5],循环中当i % 4 == 0时,即i为4时,执行continue跳过本次循环,不输出4,其他数字正常输出,元素之间用逗号分隔,所以输出为1, 2, 3, 5,
  1. 答案:C
  • 解析:算法的特性包括有穷性(必须在有限步骤内完成)、确定性(每个步骤含义确切)、可行性、输入(可以有0个或多个输入)、输出(必须有1个或多个输出)。所以算法必须有输出,选项C描述错误。
  1. 答案:C
  • 解析:八进制10转换为十进制为(1×81 + 0×80 = 8),十六进制10转换为十进制为(1×161 + 0×160 = 16),它们相加的十进制结果为(8 + 16 = 24)。
  1. 答案:D
  • 解析:字典d = {"大海":"蓝色", "天空":"灰色", "大地":"黑色"}d["大地"]会获取字典中键为“大地”的值,即“黑色”,输出时不带引号。
  1. 答案:A
  • 解析open('city.csv', 'r').read().split(',')会读取文件内容并以逗号分割成列表,文件内容中“巴巴多斯”和“白俄罗斯”之间有换行符\n,所以分割后的结果为['巴哈马', '巴林', '孟加拉国', '巴巴多斯\n白俄罗斯', '比利时', '伯利兹']
  1. 答案:B
  • 解析range(4)生成的序列是[0, 1, 2, 3]list(range(4))将其转换为列表,结果为[0, 1, 2, 3]

二、判断题

  1. 答案:正确
    • 解析int('0x25', 16)int('25', 16)都可以将十六进制数0x25(或字符串“25”,当指定进制为16时会被当作十六进制数)转换为十进制数,结果为37。
  2. 答案:错误
    • 解析:使用open()函数打开文件后,返回的是文件对象,通过文件对象的方法(如readreadlines等)可以读取文件内容并转换为相应的数据类型(如字符串、列表等),但打开文件本身返回的不是列表。
  3. 答案:正确
    • 解析:数据根据其结构特点可以分为一维数据(如列表、元组中的单个序列)、二维数据(如表格形式的数据,可以用二维列表表示)和多维数据(如矩阵等更复杂的数据结构)。
  4. 答案:正确
    • 解析:在try - except - finally语句中,finally块中的语句无论是否发生异常都会执行,通常用于释放资源等操作。
  5. 答案:正确
    • 解析:CSV文件的每一行可以看作是一维数据,在Python中可以用列表类型来表示每一行的数据,方便进行数据处理。
  6. 答案:错误
    • 解析:二进制数1010111转换为十六进制的方法是,从右到左每4位一组,不足4位在左边补0,得到0101 0111,然后分别将每组转换为十六进制,0101转换为十六进制是5,0111转换为十六进制是7,所以结果是57,而不是A7
  7. 答案:错误
    • 解析abs()函数的功能是求绝对值,abs(-2.3)的运行结果是2.3,而不是对小数进行取整。
  8. 答案:错误
    • 解析chr()函数用于将整数(代表ASCII码值或Unicode码值)转换为对应的字符,而不是将对象转换成字符串。
  9. 答案:正确
    • 解析enumerate()函数会将可迭代对象(如字符串、列表、元组等)组合为索引序列,同时返回数据和数据下标,例如for i, item in enumerate(['a', 'b', 'c'])i会依次为0、1、2,item会依次为'a''b''c'
  10. 答案:正确
  • 解析senson = ["春", "夏", "秋", "冬"]senson.remove("秋")会从列表中删除第一个值为“秋”的元素,列表变为["春", "夏", "冬"],然后输出该列表。

三、编程题

  1. 求一个四位数
    • 思路:通过四层循环遍历所有可能的四位数(每位数字范围是0 - 9),根据题目条件构建两个五位数(在左边加8和在右边加6后的五位数),判断它们的和是否为121410,如果是则找到符合条件的四位数并输出。
  2. 读取学生信息
    • 思路:使用csv模块读取subways.csv文件中的数据,将每行数据(除了表头)的学号和身高信息提取出来,判断身高是否达到120,如果是则输出学号。
  3. 数字移动
    • 思路:首先记录列表的初始长度,然后循环遍历列表,当遇到非零元素时,将其向前移动到合适位置(通过交换),最后将剩余位置填充为0,实现将所有零移动到列表尾的功能。