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

博客信息

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

一、单选题

  1. 答案:D
    • 解析:“r”模式是以只读方式打开文件,文件指针放在文件开头。“w+”是以读写模式打开文件,如果文件存在则清空内容,如果不存在则创建新文件;“r+”打开文件用于读写,文件指针在文件开头;“w”打开文件只用于写入,如果文件已存在则清空内容再写入。
  2. 答案:B
    • 解析sorted(a)会返回一个新的排好序的列表,但原列表a不变;a.sort()会直接对原列表a进行排序,改变原列表顺序。
  3. 答案:A
    • 解析:将各选项转换为十进制进行比较。A选项0x2B(十六进制)转换为十进制是43;B选项0o37(八进制)转换为十进制是31;C选项41本身就是十进制;D选项0b100111(二进制)转换为十进制是39。所以数值最大的是A。
  4. 答案:B
    • 解析bool(2)的值为True,在Python中True可以当作整数1,所以bool(2)+3相当于1 + 3 = 4
  5. 答案:B
    • 解析:因为要找出满足既是3的倍数且各个位上数的和是8的倍数的三位数,需要逐个列举三位数来判断是否满足条件,这种方法适合用枚举算法。解析算法适用于有明确数学公式或逻辑关系的问题;排序算法用于对数据进行排序;对分查找法适用于有序数列的查找,本题不适用。
  6. 答案:C
    • 解析:Python异常处理常用关键字有try(尝试执行可能出错的代码块)、except(捕获特定类型的异常)、else(在try代码块没有异常时执行)、finally(无论是否有异常都会执行的代码块),而if主要用于条件判断,不是异常处理的关键字。
  7. 答案:A
    • 解析:列表的append方法用于在列表末尾添加元素,km.append("综合")可以将“综合”学科添加到考试科目列表km中。insert方法需要指定插入位置;writeread方法不是用于列表操作的,而是用于文件操作。
  8. 答案:B
    • 解析ord("0")返回字符“0”的ASCII码值,加上3后得到新的ASCII码值,再用chr函数将其转换为对应的字符,即“3”。
  9. 答案:B
    • 解析:将十进制数1770转换为八进制,可以使用Python的内置函数oct,得到结果为0o3351。也可以通过不断除以8取余数的方法进行转换。
  10. 答案:B
  • 解析sorted函数对列表进行排序,reverse=True表示降序排列。原列表a = [[5, 1, 3, 4]],对其排序后得到[5, 4, 3, 1]
  1. 答案:D
  • 解析:冒泡排序对于n个数进行排序,比较次数为n*(n - 1)/2。这里n = 6,代入计算得到6*(6 - 1)/2 = 15次。
  1. 答案:C
  • 解析eval函数会计算字符串表达式的值,用户输入“3*6”,eval(cal)会计算出结果18并输出。
  1. 答案:A
  • 解析float("3.14")会将字符串“3.14”转换为浮点数3.14,结果正确。type(100)的结果是<class 'int'>,表示整数类型;oct(100)获得的是八进制数;hex(100)获得的是十六进制数。
  1. 答案:A
  • 解析abs()函数的作用是求绝对值,例如abs(-5)返回5。
  1. 答案:B
  • 解析sum(t)计算元组t中所有元素的和,len(t)计算元组的长度,平均值为sum(t)/len(t),计算结果为24.0(因为除法结果默认是浮点数)。
  1. 答案:C
  • 解析readlines方法读取文件所有行并返回一个包含每行内容的列表;readline方法读取文件的第一行,再次调用会读取下一行;执行readline方法后结果是字符串。在同一个程序中,多次使用readline方法会依次读取文件的每一行,而不是一直读取第一行。
  1. 答案:A
  • 解析sorted函数对列表进行排序,reverse=True表示降序排列。原列表list1 = [5, 0, 6, 1, 2, 7, 3, 4],排序后得到[7, 6, 5, 4, 3, 2, 1, 0]
  1. 答案:C
  • 解析int函数会将浮点数转换为整数,直接舍去小数部分,所以int(7.8)的结果是7。
  1. 答案:A
  • 解析:顺序查找不需要数据有序,属于无序查找;对分查找要求数据有序,但即使数据有序也不一定能找到数据(例如要查找的数据不在数据集中);对分查找在有序数据集中查找效率较高;顺序查找次数不一定比对分查找次数多,取决于数据情况和要查找的元素位置等。
  1. 答案:C
  • 解析:当try子句中没有错误时,不会执行except子句中的代码,而tryelsefinally子句可能会执行。finally子句无论是否有异常都会执行,else子句在try没有异常时执行,try子句本身包含正常执行的代码。
  1. 答案:A
  • 解析format函数用于实现字符串数据的格式化处理,例如"{} {}".format("hello", "world")会将字符串格式化为“hello world”。int用于整数转换,max用于求最大值,str用于将其他类型转换为字符串,但它们不是主要用于字符串格式化的函数。
  1. 答案:D
  • 解析:外层循环遍历字符串“想念”,内层循环遍历字符串“家人”,每次将两个字符拼接后添加到列表ls中,最终ls的结果是['想家', '想人', '念家', '念人']
  1. 答案:B
  • 解析format方法中花括号{}的填充顺序是按照传入参数的顺序,所以应该先填name,再填age,即"我叫{},我今年{}岁了".format(name, age)
  1. 答案:C
  • 解析:十六进制数的表示是以0x开头,数字范围是0 - 9和A - F(或a - f),A选项ABC、B选项17F、D选项9a01都符合十六进制数的表示规则,而C选项8H5不符合十六进制数的表示,因为多了一个H
  1. 答案:A
  • 解析:十进制数57转换成十六进制可以用hex(57),结果为0x39;十六进制数39转换成十进制可以用int('39', 16),结果为57,而int('57', 16)这种写法是错误的,它试图将字符串“57”当作十六进制数转换为十进制,但“57”不是合法的十六进制数表示(十六进制中没有数字7)。

二、判断题

  1. 答案:正确
    • 解析:Python中可以有多个except语句来捕获不同类型的异常,程序会按照except语句的顺序依次尝试匹配异常类型,如果匹配成功则执行相应的except块中的代码。
  2. 答案:正确
    • 解析any函数用于判断可迭代对象中是否有至少一个元素为True。空列表[]和空元组()中都没有元素,所以any([])any(())的结果都是False
  3. 答案:错误
    • 解析:利用csv格式存储二维数据时,每行确实是一个一维数据且用逗号分隔,但不允许有空行,否则在读取数据时会出现问题(例如数据行数不准确等)。
  4. 答案:正确
    • 解析:小明的程序使用了map函数结合匿名函数lambda来计算列表中每个元素的平方,然后使用print函数输出结果,是一种简洁有效的实现方式,两行代码可以完成计算整数列表中元素平方的功能。
  5. 答案:正确
    • 解析seek函数可以用于移动文件指针的位置,当多次使用readline读取文件后,如果想要回到文件的起始位置,可以使用seek(0)来实现,其中0表示将指针移动到文件开头的偏移量为0的位置。
  6. 答案:错误
    • 解析print函数输出完毕默认换行,但可以通过修改end参数来改变输出后的间隔方式,例如print("hello", end=" ")会在输出“hello”后不换行,而是输出一个空格,后续的输出会接着在这个位置继续。
  7. 答案:正确
    • 解析:十六进制与八进制数值之间不能直接转换,常常先将十六进制转换为二进制或十进制,再将其转换为八进制;或者先将八进制转换为二进制或十进制,再转换为十六进制,所以常常借助二进制或者十进制作为中间桥梁。
  8. 答案:错误
    • 解析:同一个整数可以用十六进制和八进制表示,虽然表示形式不同,但数值是相等的。例如十进制数16,十六进制表示为0x10,八进制表示为0o20,它们所代表的数值都是16。
  9. 答案:错误
    • 解析:语句print("a", "b", "c", sep=",")的输出结果是a,b,csep参数指定了输出时元素之间的分隔符为逗号,而不是输出"a" "b" "c"
  10. 答案:正确
  • 解析:这段代码使用csv库来读取class.csv文件,next(reader)会读取文件的第一行(表头行)并将其赋值给head_row,然后输出表头行的信息,是获取csv文件表头信息的正确方式。

三、编程题

  1. 排队退出游戏

    • 思路:使用一个列表num来模拟人的编号,通过循环报数,当报到3时将对应的人标记为退出(这里将其值设为0),直到只剩下一个人为止,最后输出剩下的人的编号。
  2. 按年龄排序

    • 思路:首先获取输入的年龄字符串,将其分割成单个年龄并转换为整数存入列表a,同时记录每个年龄的原始顺序存入列表b。然后使用冒泡排序算法对年龄列表a进行排序,在排序过程中,同时交换b中对应的顺序编号,以保证年龄顺序改变后,原始顺序编号也能正确对应。最后输出排序后的年龄列表a和原始顺序编号列表b
  3. 计算法定节假日休息时间

    • 思路:首先打开vacations.csv文件,读取其中的数据并处理成合适的格式(这里是一个包含每行数据列表的列表ls),然后获取用户输入的节假日名称,在读取的数据中查找该节假日对应的行,最后输出该节假日的假期范围。