一、单选题
1、十进制数111转换成二进制数是?( )
A、111
B、1111011
C、101111
D、1101111
解析:【喵呜刷题小喵解析】:进制转换是计算机领域的基础知识,进制转换就是将一个数从一种进制数转换成另一种进制数。十进制数转换为二进制数,需要不断地将十进制数除以2,并记录余数,直到商为0,然后将余数从下到上排列,即可得到二进制数。将十进制数111转换为二进制数,计算过程如下:111÷2=55余1,55÷2=27余1,27÷2=13余1,13÷2=6余1,6÷2=3余0,3÷2=1余1,1÷2=0余1,因此,十进制数111转换为二进制数为1101111。故答案为D。
2、某班有36人,王老师想给每位同学分配一个二进制的学号,那么该学号至少需要多少位?( )
A、36
B、5
C、6
D、7
解析:【喵呜刷题小喵解析】二进制数中,每一位(bit)可以表示0或1。因此,要表示一个非负整数,所需的位数至少是这个数的十进制表示中数字的数量再加1。对于整数36,其十进制表示为4位数(即1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36),因此,表示36至少需要5位二进制数。所以,王老师至少需要给每位同学分配一个5位的二进制学号。因此,答案是C。
3、数据的存储形式多种多样,如s1=[[“李亮”,“98”],[“王宁宁”,“95”],[“莫晓珍“,“88”]],s2=[“李亮”,“98”,“王宁宁”,“95”,“莫晓珍“,“88”],有关s1与s2下列说法正确的是?( )
A、都是用列表实现的
B、s1是一维列表
C、s2是二维列表
D、要取出“王宁宁”同学的成绩,方法是一样的,用s1[4]或s2[4]
解析:【喵呜刷题小喵解析】根据题目信息,s1和s2的存储形式是不同的。s1是一个二维列表,每个子列表包含两个元素,分别表示学生的姓名和成绩。而s2是一个一维列表,包含了所有学生的姓名和成绩,但没有分组。因此,A选项“都是用列表实现的”是正确的,因为s1和s2都是用列表实现的,只是存储形式不同。B选项“s1是一维列表”是错误的,因为s1是二维列表。C选项“s2是二维列表”也是错误的,因为s2是一维列表。D选项“要取出“王宁宁”同学的成绩,方法是一样的,用s1[4]或s2[4]”也是错误的,因为s1和s2的存储形式不同,取出“王宁宁”同学的成绩的方法也不同。在s1中,需要通过嵌套列表s1[1][1]来取出“王宁宁”的成绩,而在s2中,需要通过s2[3]来取出“王宁宁”的成绩。因此,正确答案是A。
4、a=["跳绳","跳高","跳远","铅球"] fs=open("sports.csv","w") fs.write(" ".join(a)+'\n') fs.close() 关于上述代码,下列说法正确的是?( )
A、若”sports.csv”文件不存在,则程序出错
B、程序的最后结果是:跳绳 跳高 跳远 铅球
C、程序中的fs.close()代码可有可无
D、“w”参数表示不能修改原csv文件
解析:【喵呜刷题小喵解析】:
A选项:若“sports.csv”文件不存在,则程序出错。实际上,如果“sports.csv”文件不存在,程序会创建这个文件,并不会出错。
B选项:程序的最后结果是:跳绳 跳高 跳远 铅球。这是正确的,因为代码将列表a中的元素用空格连接,然后写入到“sports.csv”文件中。
C选项:程序中的fs.close()代码可有可无。实际上,虽然关闭文件不是强制的,但这是一个好的编程实践,因为它可以释放资源。
D选项:“w”参数表示不能修改原csv文件。这是错误的,“w”参数表示写入模式,如果文件存在,它会被覆盖。如果文件不存在,它会被创建。这与不能修改原csv文件没有直接关系。
因此,B选项是正确的。
5、现有水果价格数据jg=[[‘草莓’,15],[‘梨子’,9],[‘苹果’,10],[‘桔子’,4]],需要将其打印成二维表格数据形式,程序代码如下: jg=[[‘草莓’,15],[‘梨子’,9],[‘苹果’,10],[‘桔子’,4]] for row in range(len(jg)): for col in range(len(jg[row])): print(____________,”\t”) 上述划线处代码是?( )
A、jg[row]
B、jg[col]
C、jg[col][row]
D、jg[row][col]
解析:【喵呜刷题小喵解析】:
在这个问题中,`jg` 是一个二维列表,它包含了水果的名称和价格。我们想要通过打印语句将这个二维列表以表格的形式展示出来。
在给出的循环中,外层循环 `for row in range(len(jg)):` 是用来遍历二维列表的每一行,内层循环 `for col in range(len(jg[row])):` 是用来遍历每一行的元素。
在内层循环中,我们需要打印出每一行的元素。因为 `jg[row]` 返回一个列表,包含两个元素(水果名称和价格),所以我们需要访问这个列表的第二个元素,即价格。
因此,正确的代码应该是 `jg[row][1]`,而不是 `jg[row]`(这将返回整个列表而不是价格),`jg[col]`(这将返回第一列而不是价格),或 `jg[col][row]`(这将导致索引错误,因为 `col` 是行索引,而 `row` 是当前行的索引)。
所以,正确的选项是 D,`jg[row][col]`。但在这个特定的例子中,由于我们只需要打印价格,所以应该使用 `jg[row][1]`。
6、运行下列程序段: try: a=int(input("请输入被除数:")) b=int(input("请输入除数:")) x=a/b print("商是:",x) except: print("输入有错!请检查。") else: print("正确!") finally: print("程序结束。") 若输入a为8,b为4,则输出结果是?( )
A、商是:2正确!
B、商是:2正确!程序结束。
C、商是:2.0程序结束。
D、商是:2.0正确!程序结束。
解析:【喵呜刷题小喵解析】首先,我们根据题目中的代码进行分析。在`try`块中,用户输入被除数`a`和除数`b`,然后进行除法运算得到商`x`。这里`x`的类型是浮点数,因为Python中的除法运算返回的是浮点数结果,即使两个操作数都是整数。
接着,我们看`except`块。这块代码用来捕获可能发生的异常。由于我们的除法运算中没有除以0的情况,所以`except`块在这里不会被执行。
再来看`else`块。这块代码在`try`块成功执行后会被执行。因为`try`块中没有发生异常,所以`else`块会输出"正确!"。
最后,`finally`块中的代码无论`try`块是否发生异常都会被执行。所以,无论输入是否正确,都会输出"程序结束。"。
根据题目中的输入,被除数`a`为8,除数`b`为4,商`x`应该是2.0。所以,正确的输出应该是"商是:2.0正确!程序结束。",对应选项D。
7、已知A的ASCII码值为65, s=”China” k=abs(-4.8) 则表达式ord(min(s))+k的值是?( )
A、71.8
B、63
C、61
D、62
解析:【喵呜刷题小喵解析】
在这个问题中,我们需要理解Python的一些基础概念:字符串、ASCII码值、内置函数和数学运算。
首先,`ord()`函数返回的是字符的ASCII码值。在这个问题中,`min(s)`返回的是字符串`s`中的最小字符,即`'C'`。`'C'`的ASCII码值是67。
其次,`abs(-4.8)`返回的是-4.8的绝对值,即4.8。
最后,`67 + 4.8`的结果是71.8,但题目要求的是整数,所以结果会自动向下取整为71。
所以,`ord(min(s))+k`的值是71,对应选项A。
8、8=71.8。 8.divmod(8,5)的结果是?( )
A、1
B、3
C、(1,3)
D、[1,3]
解析:【喵呜刷题小喵解析】在Python中,`divmod()`函数返回两个值:商和余数。对于给定的表达式`8.divmod(8,5)`,其商为1,余数为3。因此,`8.divmod(8,5)`的结果是`(1,3)`。所以正确答案是C。
9、若有代码: name=[“李明”,“王宁”,“朱倩”] for a,i in enumerate(name): print(a,i) 则显示的结果是?( )
A、0 李明1 王宁2 朱倩
B、李明王宁朱倩
C、李明,王宁,朱倩
D、1 李明2 王宁3 朱倩
解析:【喵呜刷题小喵解析】:在给出的代码中,`enumerate(name)`会返回`name`列表中每个元素的索引和值。`for a, i in enumerate(name):`这行代码表示,`a`是索引,`i`是值。因此,循环会依次输出索引和值,即`0 李明`,`1 王宁`,`2 朱倩`。所以,正确的选项是A。
10、有关于print()语句的运用,下列输出结果有误的是?( )
A、print(“Happy!”)
B、print(李明)
C、print('Happy!’)
D、print(2023)
解析:【喵呜刷题小喵解析】:在Python中,`print()`函数用于输出内容到控制台。对于选项B,`print(李明)`,这里尝试输出一个变量名`李明`,而不是字符串或其他类型的数据。因为变量`李明`并没有被定义,所以输出时会出现错误。选项A、C和D中的`print()`语句都是正确的,可以成功输出相应的内容。因此,输出结果有误的是选项B。
11、若s=”y\nea\tr”,则len(s)的值为?( )
A、8
B、4
C、6
D、5
解析:【喵呜刷题小喵解析】:题目要求计算字符串s的长度,其中s为"y\nea\tr"。
首先,我们需要了解字符串长度的计算方法。在Python中,字符串的长度是其包含的字符数,包括字母、数字、符号等。字符串中的特殊字符,如转义字符,也会被计入长度。
现在我们来分析字符串s中的每个字符:
* "y":一个字母
* "\n":一个换行符
* "e":一个字母
* "a":一个字母
* "\t":一个制表符
* "r":一个字母
所以,字符串s的长度为6。
因此,len(s)的值为6,选项C正确。
12、b=[1,2,3,4,5],则sum(b)的值是?( )
A、10
B、14
C、15
D、12
解析:【喵呜刷题小喵解析】题目中给出了一个列表b,包含5个元素:1,2,3,4,5。根据题目要求,我们需要计算这个列表的和。
首先,我们可以使用Python的内置函数`sum()`来计算列表的和。在Python中,`sum()`函数可以接收一个可迭代对象(如列表)作为参数,并返回该对象所有元素的和。
所以,我们可以写出以下代码来计算列表b的和:
```python
b = [1, 2, 3, 4, 5]
sum_b = sum(b)
print(sum_b)
```
运行这段代码,我们得到的结果是15,所以答案是C选项。
13、某算法的流程图如图所示,则该流程图的结构属于?( )
A、顺序结构
B、分支结构
C、树形结构
D、循环结构
解析:【喵呜刷题小喵解析】:根据流程图,我们可以看到有一个框,框内有一个箭头指向自己,表示该步骤会反复执行,直到满足某个条件才会跳出。这种流程图结构属于循环结构,因此正确答案是D。顺序结构是指一系列步骤按照顺序执行,分支结构是指根据条件选择不同的执行路径,树形结构是指具有树状层次结构的数据结构,与流程图的结构不符。
14、有如下代码: a=[25,37,49,64,73,75,85,91] t=i=0 j=len(a)-1 key=int(input()) while i<=j: m=(i+j)//2 if a[m]==key: break elif a[m]>key: j=m-1 else: i=m+1 t+=1 print(t) 若输入的key值是73,则程序输出的结果是?( )
A、5
B、1
C、2
D、3
解析:【喵呜刷题小喵解析】题目中的代码实现的是二分查找算法,用于在有序列表a中查找指定的key值。代码首先初始化索引i和j,然后进入一个while循环,在循环中,计算中间索引m,然后比较中间元素a[m]和key值。如果a[m]等于key,则退出循环;如果a[m]大于key,则将j更新为m-1;如果a[m]小于key,则将i更新为m+1。同时,每次循环都会使t加1。
对于输入的key值为73,代码的执行过程如下:
1. 初始化i=0,j=7,t=0
2. 第一次循环,计算m=(0+7)//2=3,比较a[3]=49<73,更新i=4
3. 第二次循环,计算m=(4+7)//2=5,比较a[5]=73=73,退出循环
因此,程序输出的结果是t=2。所以正确答案是C。
15、hex函数可以将十进制数转换成十六进制数。在Python交互式编程环境下,执行语句hex(2023)后,显示的运行结果是?( )
A、"0x7e3"
B、"0x7e6"
C、"0x7e7"
D、"0x7e8"
解析:【喵呜刷题小喵解析】在Python中,`hex()`函数可以将一个十进制数转换为其十六进制表示。当我们执行`hex(2023)`时,Python会将2023转换为十六进制。十六进制中,每一位代表4位二进制数,因此2023在十六进制中表示为7e7。因此,选项C“0x7e7”是正确的结果。
16、int() 函数用于将一个字符串或数字转换为整型。在Python交互式编程环境下执行以下语句,会出现错误的一项是?( )
A、int()
B、int(1.0)
C、int(0x20,16)
D、int('2023',8)
解析:【喵呜刷题小喵解析】在Python中,`int()`函数用于将字符串或数字转换为整型。对于选项A,`int()`函数没有参数,会返回0,不会出错。对于选项B,`int(1.0)`将浮点数1.0转换为整型1,也不会出错。对于选项D,`int('2023',8)`表示将字符串'2023'从八进制转换为十进制,结果为819(2023的八进制表示为343,转换为十进制为819),也不会出错。而选项C,`int(0x20,16)`试图将0x20从十六进制转换为十进制,但`int()`函数只接受一个参数,因此会出现TypeError错误。因此,选项C会出现错误。
17、一维数据可以存储在CSV格式文件中,下列描述正确的是?( )
A、必须采用逗号分隔数据元素
B、必须采用空格来分隔数据元素
C、必须采用分号分隔数据元素
D、允许采用特殊字符来分隔数据元素
解析:【喵呜刷题小喵解析】在一维数据的CSV格式文件中,数据元素之间的分隔符是可以自定义的,并不一定必须使用逗号、空格或分号。因此,选项D“允许采用特殊字符来分隔数据元素”是正确的描述。其他选项A、B、C都是错误的。
18、如果需要使用open函数以可读可写的方式打开一个存储二维数据的CSV文件,则open函数的文件打开模式不能设置成?( )
A、rw
B、r+
C、w+
D、a+
解析:【喵呜刷题小喵解析】:在Python中,`open`函数用于打开文件。对于CSV文件,如果要以可读可写的方式打开,应使用“r+”模式。这意味着文件既可以读取也可以写入。其他选项中,“w+”表示写入模式,会覆盖文件中的现有数据;“a+”表示追加模式,只能在文件末尾写入数据。因此,选项A "rw"不是正确的模式,因为它不是一个有效的模式。所以,正确答案是A。
19、在try....except...else...finally异常处理机制中,如果发生异常则完全不会被执行的代码块是?( )
A、try代码块
B、except代码块
C、else代码块
D、finally代码块
解析:【喵呜刷题小喵解析】:在Python的异常处理机制中,try、except、else和finally的代码块执行顺序如下:
1. 首先执行try代码块中的代码。
2. 如果try代码块中的代码引发异常,那么程序会跳过try代码块中的剩余代码,然后跳转到与异常类型匹配的except代码块执行。
3. 如果try代码块中的代码没有引发异常,那么程序会执行完try代码块中的所有代码,然后检查是否有else代码块。如果有else代码块,则执行else代码块中的代码。
4. 不论try代码块中的代码是否引发异常,finally代码块中的代码都会执行。
因此,在try...except...else...finally异常处理机制中,如果发生异常则完全不会被执行的代码块是else代码块。所以正确答案是C。
20、下列数据对象中,不能使用len()函数获取数据对象长度的是?( )
A、2023
B、[2, 0, 2, 3]
C、["Go", "China!"]
D、("Go", "China!")
解析:【喵呜刷题小喵解析】在Python中,`len()`函数用于获取对象(如列表、元组、字符串等)的长度。对于选项A,2023是一个整数,不是可以获取长度的对象,因此不能使用`len()`函数。选项B是一个列表,可以使用`len()`函数获取其长度。选项C是一个字符串列表,同样可以使用`len()`函数。选项D是一个元组,也可以使用`len()`函数。因此,正确答案是A。
21、在Python交互式编程环境下,输入print(list(range(0,5,2)))语句,执行的结果是?( )
A、存在语法错误,不能执行
B、[0,1]
C、[0, 1,2, 3,4,5]
D、[0, 2, 4]
解析:【喵呜刷题小喵解析】在Python中,`range(start, stop, step)`函数用于生成一个从`start`开始到`stop`结束(不包含`stop`)的整数序列,步长为`step`。在这个例子中,`range(0,5,2)`会生成一个序列:0, 2, 4。然后,`list()`函数将这个序列转换成一个列表。因此,`print(list(range(0,5,2)))`的输出结果是`[0, 2, 4]`,选项D是正确的。
22、在交互式编程环境下,执行all([0,1,2,3])语句后,返回的值是?( )
A、True
B、False
C、1
D、4
解析:【喵呜刷题小喵解析】:在Python中,`all()`函数用于检查可迭代对象中的所有元素是否都为True。如果所有元素都为True,则返回True,否则返回False。在给定的例子中,`all([0,1,2,3])`,由于列表中的第一个元素0是False(在Python中,0被视为False),所以`all()`函数返回False。因此,正确答案是B,即False。
23、在交互式编程环境下,输入float("1")语句,执行的结果是?( )
A、1
B、1.0
C、'1'
D、传入参数错误,不能执行
解析:【喵呜刷题小喵解析】在交互式编程环境下,输入float("1")语句,执行的结果是1.0。这是因为float()函数将字符串"1"转换为浮点数1.0。因此,选项B是正确的。其他选项A、C、D都是错误的。
24、在交互式编程环境下,输入max([(1,2),(2,3),(3,4),(2,6)])语句,执行的结果是?( )
A、6
B、(3, 4)
C、(2,6)
D、(3,6)
解析:【喵呜刷题小喵解析】在交互式编程环境下,输入`max([(1,2),(2,3),(3,4),(2,6)])`语句,执行的结果是`(2, 6)`。这是因为`max()`函数会返回元组中的最大值,而元组的比较是基于元组的第一个元素进行的。在给定的元组列表中,`(2, 6)`的第一个元素最大,因此`max()`函数返回`(2, 6)`。所以,正确答案是`(2, 6)`,即选项B。
25、“鸡兔同笼”是一个古老的数学问题,可以应用枚举法求解,也可以利用二元一次方程进行求解。以下是使用计算机解决“鸡兔同笼”问题的几个步骤: ①编写Python程序,用计算机进行处理。 ②设计“鸡兔同笼”求解算法。 ③验证算法的功能和性能。 ④分析问题,确定解题任务。 使用计算机解决“鸡兔同笼”问题,正确的步骤是?( )
A、②④①③
B、④①②③
C、④②③①
D、④②①③
解析:【喵呜刷题小喵解析】:使用计算机解决“鸡兔同笼”问题,首先需要对问题进行分析,确定解题任务,然后设计求解算法,接着编写Python程序用计算机进行处理,最后验证算法的功能和性能。因此,正确的步骤是④②①③,即选项D。
二、判断题
26、若name为若干元素的列表对象,file为CSV文件,则file.write(‘,’.join(name)+’\n’)语句可确保列表中每个写入CSV文件的数据,在表格软件打开时作为一个单元格存在。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Python中,`file.write(‘,’.join(name)+’\n’)`语句将列表`name`中的元素通过逗号连接成一个字符串,并在字符串末尾添加换行符`\n`。当这个字符串被写入CSV文件时,由于逗号`,`是CSV文件的字段分隔符,因此每个元素都会作为一个独立的字段(即单元格)存在。因此,这个语句可以确保列表中每个元素在打开CSV文件时作为一个单元格存在。所以,题目的陈述是正确的。
27、当程序发生异常时,我们可以用try…except…语句进行异常处理。但每个try模块只能有一个except语句块。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Python中,try…except…语句用于异常处理。每个try块可以有一个或多个except块,每个except块用于处理特定类型的异常。因此,题目中的说法“每个try模块只能有一个except语句块”是错误的。实际上,try块可以有多个except块,每个except块可以处理不同类型的异常。
28、float()函数可将整数转换为浮点类型数据,但不能将字符串中的数字转换为浮点类型数据。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Python中,`float()`函数不仅可以将整数转换为浮点类型数据,还可以将字符串中的数字转换为浮点类型数据。例如,`float("3.14")`会返回3.14。因此,题目中的说法是不正确的。
29、在执行语句x=input()的过程中,若键盘输入23并按下回车键,则x的值就被赋值为整数23。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Python中,`input()`函数用于从标准输入读取一行文本,并将其作为字符串返回。因此,当执行`x=input()`语句时,无论用户输入什么内容(包括数字),x的值都将被赋值为一个字符串。如果用户输入23并按下回车键,x的值将被赋值为字符串"23",而不是整数23。因此,题目的说法是错误的。
30、input()用于接收键盘输入数据,默认为字符串类型,即键盘输入数字23,最终得到的是字符串“23”,若要得到整数23,需用int()进行转换。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Python中,`input()`函数确实用于接收键盘输入数据,但默认情况下,它返回的是一个字符串。所以,如果键盘输入的是数字23,`input()`函数返回的是字符串"23",而不是整数23。要得到整数23,确实需要使用`int()`函数进行转换。因此,题目的说法是正确的,但题目中的判断却是错误的。所以,正确答案是B。
31、任何二维数据都可以用二维列表来表示。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:二维数据可以表示为一个列表的列表,即二维列表。例如,一个二维列表可以表示一个表格,其中每个元素都是一个列表,代表表格中的一行,而行中的每个元素代表该行中的一个单元格。因此,任何二维数据都可以用二维列表来表示,所以答案是正确的。
32、执行语句wq=[[0]*19]*19可以创建一个19行及19列的二维表。( )
A 正确
B 错误
解析:【喵呜刷题小u解析】:在Python中,`[[0]*19]*19`这样的代码并不能创建一个19行19列的二维列表。实际上,它创建的是一个列表的列表,其中每个内部列表都引用同一个对象(一个长度为19的零列表)。所以,任何对这个列表的更改都会影响所有内部列表,因为它们是引用同一个对象的。为了创建一个19行19列的二维列表,应该使用列表推导式,如`[[0]*19 for _ in range(19)]`。因此,题目中的说法是错误的。
33、bool()函数用于将给定参数或表达式转换为布尔类型。语句bool(-1)返回的是False值。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Python中,`bool()`函数用于将给定参数或表达式转换为布尔类型。对于数字类型,`bool()`函数会将0视为`False`,将非0值视为`True`。因此,语句`bool(-1)`返回的是`True`值,而不是`False`值。所以,题目的陈述是错误的。
34、enumerate()函数用于将列表、元组或字符串等可遍历的数据对象组合为一个索引序列。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:`enumerate()`函数在Python中用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时返回数据和它们的索引。具体来说,`enumerate()`函数返回一个枚举对象,该对象产生索引值以及数据对象中相应位置的值。因此,题目的描述是正确的。
35、十六进制9E的二进制数是8位。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:十六进制数9E转换为二进制数后,其位数取决于转换结果。由于9E转换为二进制后得到的数字位数可能超过8位,因此题目中的说法“十六进制9E的二进制数是8位”是不准确的。因此,答案为B,即错误。题目中给出的答案“A”是错误的。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!