一、单选题
1、以下选项中,哪一项转换后对应十进制数不是10?( )
A、0b1010
B、0o12
C、0xa
D、0d11
解析:
题目要求找出转换后对应十进制数不是10的选项。
A. 0b1010是二进制数,转换为十进制是10。
B. 0o12是八进制数,转换为十进制是10。
C. 0xa是十六进制数,转换为十进制也是10。
D. 0d11虽然是十进制数的表示方式,但它直接表示的就是十进制数11,不是10。
因此,转换后对应十进制数不是10的选项是D。
2、以下选项中不会报错的是?( )
A、a='10'+0
B、int('X')
C、b=10/0
D、float(1.2)
解析:
对于选项A,Python中字符串和整数的相加会引发TypeError,所以A会报错。对于选项B,Python的int()函数不能识别非数字字符,尝试将字符’X’转换为整数将会引发ValueError,所以B会报错。对于选项C,尝试将一个数除以零将会引发ZeroDivisionError,所以C会报错。而选项D是合法的Python代码,float(1.2)会将整数1.2转换为浮点数,不会引发任何错误。因此,不会报错的是选项D。
3、将十进制数52转换为二进制数时,该二进制数的位数是?( )
A、3
B、4
C、5
D、6
解析:
将十进制数52转换为二进制数时,可以通过除2取余的方法得到二进制数的每一位。具体计算如下:
52 ÷ 2 = 26 余 0
26 ÷ 2 = 13 余 0
13 ÷ 2 = 6 余 1
6 ÷ 2 = 3 余 0
3 ÷ 2 = 1 余 1
1 ÷ 2 = 0 余 1
因此,52的二进制表示为110100,是一个6位的二进制数。所以该二进制数的位数是6,答案为D。
4、下面哪个数值和其他不一样?( )
A、int("0O30",8)
B、(18)16
C、(25)10
D、(11000)2
解析:
本题考察数值表示方法的理解。
A项是一个八进制数转换为十进制数的过程,结果为24;
B项是一个十六进制数转换为十进制数的过程,结果为24;
C项是一个十进制数,值为25;
D项是一个二进制数转换为十进制数的过程,结果为24。从数值大小上看,只有C项的值与其他三项不同。因此,正确答案是C。
5、将十进制数522转换为十六进制数,最低位上的数是?( )
A、8
B、9
C、A
D、B
解析:
将十进制数522转换为十六进制数,可以使用除基取余法。将522除以16,得到商为32余数为10(对应十六进制中的A)。因此,最低位上的数是A。故选C。
6、以下代码的运行结果是?( ) numbers = [1, 2, 3, 4, 5] result = list(map(str, numbers) ) print(result)
A、1, 2, 3, 4, 5
B、['1', '2', '3', '4', '5']
C、None
D、[1, 2, 3, 4, 5]
解析:
这段代码的主要功能是使用Python的map函数将numbers列表中的每个元素转换为字符串类型,然后通过list函数将转换后的结果转换为列表。因此,这段代码的运行结果应该是将每个数字转换为字符串后组成的列表,即[‘1’, ‘2’, ‘3’, ‘4’, ‘5’]。所以正确答案是B。
7、divmod(134, 4)的结果是?( )
A、[33, 2]
B、(33, 2)
C、(2, 33)
D、[2, 33]
解析:
根据题目中的要求,需要计算divmod(134, 4)的结果。在Python等编程语言中,divmod函数返回的是一个包含商和余数的元组,形式为(商, 余数)
。计算过程如下:
被除数:134
除数:4
商:33(因为134除以4得到的商是33)
余数:2(因为134除以4得到的余数是2)
所以,divmod(134, 4)的结果是(33, 2)
,对应选项B。
8、函数round(3.576, 2) 的返回结果是?( )
A、3.50
B、3.58
C、3.57
D、4.00
解析:
函数round(3.576, 2)的返回结果取决于四舍五入的规则。这里的数字2表示保留到小数点后两位。数字3.576被四舍五入到最接近的百分位,即3.58。因此,正确答案是B。
9、函数bool(None)的返回结果是?( )
A、True
B、False
C、None
D、0
解析:
在Python中,函数bool()用于将给定的参数转换为布尔值。对于None,bool()的返回结果是False。因此,答案是B。
10、以下哪个函数可以用来将列表转换为集合?( )
A、list()
B、dict()
C、tuple()
D、set()
解析:
在Python中,将列表转换为集合需要使用内置的set()函数。因此,正确答案是D。list()用于创建列表,dict()用于创建字典,tuple()用于创建元组,它们都不能将列表转换为集合。
11、在Python中,以下哪个表达式将返回False?( )
A、any([1, 2, 0])
B、any(['', 'hello', '!'])
C、any([{}, {1:2}, {3:4}])
D、any([False, False, False])
解析:
Python中的any()函数会对其内部的可迭代对象的所有元素进行迭代,如果其中有一个元素为True(或等价于True),则返回True。否则,返回False。对于选项D,给定的列表中的所有元素都是False,所以any()函数会返回False。因此,正确答案是D。
12、以下哪个表达式将返回字符串'123'?( )
A、str(123.456)
B、int('123.456')
C、str(123)
D、float('123')
解析:
根据题目要求,需要找到返回字符串’123’的表达式。
A选项:str(123.456) 会将浮点数 123.456 转换为字符串,结果会是类似于 ‘123.456’ 的字符串,并不会得到 ‘123’。
B选项:int(‘123.456’) 会尝试将字符串 ‘123.456’ 转换为整数,但由于其中包含小数部分,这个转换会失败并抛出异常。
C选项:str(123) 会将整数 123 转换为字符串,结果正是 ‘123’,符合题目要求。
D选项:float(‘123’) 会将字符串 ‘123’ 转换为浮点数,并不会返回字符串。
因此,正确答案是C选项。
13、下列哪个选项是用正确的方式来处理 input() 函数返回的字符串,以便将其转换为一个整数?( )
A、num = input("请输入一个数字:")
B、num = int(input("请输入一个数字:"))
C、num = str(input("请输入一个数字:"))
D、num = float(input("请输入一个数字:"))
解析:
题目要求处理input()函数返回的字符串以便将其转换为一个整数。在给出的选项中,B选项使用int()函数将输入的字符串转换为整数,这符合题目的要求。A选项只是简单地将输入的字符串赋值给变量num,没有进行类型转换。C选项将输入的字符串转换为字符串类型,这并不是题目要求的转换类型。D选项将输入的字符串转换为浮点数类型,虽然可以进行转换,但并不是最符合题目要求的答案。因此,正确答案是B。
14、下列程序运行的结果是?( ) try: a=6 b=0 c=a/b print(c) except: print('error!')
A、6
B、0
C、c
D、error!
解析:
根据提供的程序,当执行到c=a/b
时,因为b的值为0,会导致除以零的异常,因此会执行except
块中的代码,输出’error!‘。所以程序运行的结果是’error!’,选项D正确。
15、函数abs(-2.6)的返回值是?( )
A、-2.6
B、2.6
C、2
D、6
解析:
函数abs()是求绝对值函数,对于任何负数,其绝对值就是它的相反数。所以,函数abs(-2.6)的返回值是2.6。
16、函数ord("C")的返回值是什么?( )
A、48
B、57
C、67
D、99
解析:
函数ord()返回的是字符对应的ASCII码值,"C"的ASCII码值是67,所以函数ord(“C”)的返回值是67,对应选项C。
17、以下哪个选项不是算法的基本结构?( )
A、顺序结构
B、分支结构
C、循环结构
D、查找结构
解析:
算法的基本结构包括顺序结构、分支结构和循环结构。查找结构并不是算法的基本结构之一。因此,选项D是正确答案。
18、超市购物促销:购物满49元减5元,购物满99元减15元,根据所购物品金额求优惠率。解决此问题的合适算法是?( )
A、解析算法
B、枚举算法
C、排序算法
D、递归算法
解析:
本题要求解决的是购物优惠率的问题,需要根据购物金额来计算优惠金额,进而计算优惠率。解析算法适合对这类问题进行数学建模和计算,通过公式和逻辑运算得出优惠金额和优惠率。因此,合适的算法是解析算法。
19、关于二分查找算法,下列描述错误的是?( )
A、二分查找的前提是被查找的数据序列是有序的
B、二分查找的次数难以确定,常用while语句实现循环
C、二分查找最坏的情况是查找n次结束
D、二分查找的区间范围会逐渐缩小
解析:
二分查找算法的最坏情况并不是查找n次结束。二分查找的基本思想是将待查找的数据元素所在区间不断缩小,直到找到该元素或区间为空。最坏情况下,二分查找的时间复杂度为O(log n),而不是查找n次。因此,选项C描述错误。
20、Python表达式abs(int(-4.6))的计算结果是?( )
A、4
B、-4
C、5
D、-5
解析:
Python中的abs()函数用于返回数字的绝对值,int()函数用于取整数部分。首先,int(-4.6)会将-4.6转换为-4(去掉小数部分),然后abs(-4)取得-4的绝对值,结果为4。因此,Python表达式abs(int(-4.6))的计算结果是4,选项A正确。
21、小明编写了下列4行代码,请问,代码运行到最后,屏幕上打印出来的结果是?( ) a = ['红','橙','黄'] b = [1,2,3] c = [b,a] print(c[1][0])
A、2
B、1
C、橙
D、红
解析:
首先,我们来理解给出的代码。这段代码首先定义了两个列表a和b,列表a包含三个颜色名称,列表b包含三个数字。然后,定义了一个新的列表c,这个列表包含两个元素:第一个是列表b,第二个是列表a。因此,c[1]表示的是列表a,即['红'
,'橙'
,'黄'
]。接下来,c[1][0]表示的是列表a中的第一个元素,即字符串'红'
。因此,print(c[1][0])会打印出'红'
,所以正确答案是D。
22、下面代码从"成绩.csv"文件中读出数据,并将数据以列表形式存储。请问,划线处的代码应该为?( ) f=open('成绩.csv','r') a=f.read().strip().split(______) f.close()
A、'。'
B、','
C、'\t'
D、'\n'
解析:
在CSV文件中,数据通常以逗号分隔,因此划线处的代码应该是逗号 ‘,’。其他选项如 ‘。’、‘\t’ 和 ‘\n’ 都不适合作为分隔符来读取CSV文件中的数据。因此,正确答案是B。
23、以下代码将建立一个名为"姓氏.csv"的文件,划线处的代码应该为?( ) a=['赵','钱','孙','李','周','吴','郑','王'] f=open('姓氏.csv',______) f.write(','.join(a)+'\n') f.close()
A、‘W’
B、'R'
C、'w'
D、'r'
解析:
在Python中,打开文件用于写入的模式是 ‘w’,所以划线处的代码应该是 ‘w’。选项C是正确答案。代码中的 ‘a’ 是一个包含多个姓氏的列表,代码的目的是将这些姓氏以逗号分隔的形式写入到 ‘姓氏.csv’ 文件中。
24、如下图所示,有一个名为"价格.csv"的文件。小明针对这个文件编写了5行代码。 请问,代码运行到最后,打印在屏幕上的结果是?( ) with open('价格.csv', 'r', encoding='utf-8') as f: for line in f.readlines(): a = line.strip().split(",") if a[1] == '9' : print(a[0])
A、西瓜
B、椰子
C、桔子
D、香梨
解析:
根据题目给出的代码,小明正在读取一个名为"价格.csv"的文件。文件的每一行包含了通过逗号分隔的两个字段(假设第一个字段是水果名称,第二个字段是价格)。代码的目的是找到所有价格等于’9’的行,并打印出这些行的第一个字段(即水果名称)。根据参考答案,打印出来的应该是“椰子”,因此正确答案是B。
25、如下所示的2行代码,最后print()函数打印出来的结果是?( ) c = [['赵大',21,'男','北京'],['钱二',20,'男','西安'],['孙三',18,'女','南京'],['李四',20,'女','杭州']] print(c[1][3])
A、男
B、北京
C、西安
D、女
解析:
题目给出的代码中,定义了一个名为c的列表,其中包含四个子列表。每个子列表包含四个元素,分别代表姓名、年龄、性别和居住地。当执行print(c[1][3])
时,输出的是第二个子列表的第四个元素,即第二个人的居住地信息,因此打印的结果是“西安”。所以正确答案是C。
二、判断题
26、hex()函数可以将十进制数转换成十六进制数。在Python交互式编程环境下,执行语句hex(11)后,显示的运行结果是'b'。( )
A 正确
B 错误
解析:
在Python中,hex()函数用于将整数转换为十六进制数。执行语句hex(11)会得到’0xb’,而不是’b’。因此,题目的说法是错误的。
27、二进制数、八进制数与十六进制数的末位如果是“1”,各转换为十进制数后都是奇数。( )
A 正确
B 错误
解析:
二进制数、八进制数与十六进制数的末位如果是"1",转换为十进制数后确实都是奇数。这是因为二进制、八进制和十六进制都是以2的幂次为基数的数制,它们的末位“1”在转换为十进制时,相当于加上基数减一的数值,因此结果一定是奇数。所以该题目的描述是正确的。
28、使用with语句打开文件并处理文件后,必须使用close()函数关闭文件,以确保所有数据都被写入磁盘并释放系统资源。( )
A 正确
B 错误
解析:
使用with语句打开文件时,Python会自动管理文件的打开和关闭,无需手动调用close()函数。在with语句块结束时,文件会自动关闭,这样可以确保所有数据都被写入磁盘并释放系统资源。因此,题目中的说法“必须使用close()函数关闭文件”是错误的。
29、range(1, 11, 2)会生成一个包含数字1, 3, 5, 7, 9, 11的序列。( )
A 正确
B 错误
解析:
range(1, 11, 2)会生成一个包含数字1, 3, 5, 7, 9的序列,不包含数字11。因此题目的说法是错误的。
30、使用sorted()函数可以给列表排序,参数reverse设置为True时,按从小到大排序;参数reverse设置为False时,按从大到小排序。( )
A 正确
B 错误
解析:
sorted()函数用于对列表进行排序。当参数reverse设置为True时,列表会按照从大到小的顺序进行排序;当参数reverse设置为False或省略时,列表会按照从小到大的顺序进行排序。题目中的描述颠倒了reverse参数的作用,因此答案是B。
31、以下代码可以计算列表a中各元素(得分)的平均分。( ) a = [90, 80, 70, 60, 50] print( sum(a) / len(a) )
A 正确
B 错误
解析:
这段代码的目的是计算列表a中所有元素的平均值。它通过计算列表a中所有元素的总和(sum(a))然后除以元素的数量(len(a))来实现。在这个例子中,列表a包含5个元素,分别是90,80,70,60和50。执行这段代码会得出正确的平均分。因此,这段代码是正确的。
32、all([])和any([])的结果都是True。( )
A 正确
B 错误
解析:
在大多数编程语境中,all([])表示所有元素都为True时结果才为True,而any([])表示只要有一个元素为True,结果就为True。因此,当括号内没有元素时,all([])和any([])的结果是不同的。all([])的结果通常是一个错误或者异常,因为没有任何元素可以判断;而any([])的结果通常是False,因为没有元素满足条件。所以题目的说法是错误的。
33、列表中的pop()方法和del语句都能删除列表中被指定的元素。所以,如下4行代码运行之后,屏幕上将打印出 ['红','绿','蓝'],这个运行结果是对的。( )list1 = ['红','绿','蓝','白','紫']del list1[3] list2=list1.pop(3) print(list2)
A 正确
B 错误
解析:
列表中的pop()方法和del语句确实都可以删除列表中的指定元素,但是它们的行为方式和返回结果有所不同。在这个例子中,使用del语句删除元素后,元素会从列表中消失,但不会返回被删除的元素。而pop()方法不仅会删除指定索引的元素,还会返回被删除的元素。因此,执行完给出的代码后,list2将包含被pop()方法删除并返回的元素,即’白’,而不是整个列表[‘红’,‘绿’,‘蓝’]。所以,这个运行结果是错误的。
34、如果list1 = ['赵','钱','孙','李','周','吴','郑','王'],那么: list1[1:-4] 肯定与 list1[1:4] 相等。请判断对吗?( )
A 正确
B 错误
解析:
在Python中,对于列表的切片操作,list1[1:-4]表示从索引为1的元素开始,到倒数第四个元素之前(不包含倒数第四个元素),而list1[1:4]表示从索引为1的元素开始,到第四个元素之前(不包含第四个元素)。由于两个切片操作的结束索引不同,所以得到的结果肯定不同。因此,list1[1:-4] 肯定不与 list1[1:4] 相等。
35、读以下程序代码,运行程序后,输出的是:发生了一个异常。( ) try: print(x) except: print("发生了一个异常") finally: print("请修改程序,再试一次!")
A 正确
B 错误
解析:
根据提供的程序代码,首先尝试执行print(x)
,这里变量x
没有被定义,所以会引发一个NameError
异常。由于有except
块存在,当异常发生时,会执行except
块中的代码,即打印出"发生了一个异常"。之后,无论是否发生异常,finally
块中的代码总是会执行,即打印出"请修改程序,再试一次!“。因此,程序的输出不会是单一的"发生了一个异常”,而是先打印变量(这里会引发异常),然后打印异常信息,最后打印提示信息。所以题目中仅输出"发生了一个异常"的说法是错误的。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!