一、单选题
1、列表 fruit = ['西瓜', '菠萝', '哈密瓜', '葡萄'],以下哪个选项,可以获取列表最后一个元素?( )
A、fruit[len(fruit)]
B、fruit[len(fruit) - 1]
C、fruit[len(fruit) + 1]
D、fruit[0]
解析:
在Python中,列表的索引是从0开始的,要获取列表的最后一个元素,需要使用len(fruit) - 1作为索引。因此,正确的选项是B,即fruit[len(fruit) - 1]。
2、初唐四杰是指唐朝初期的四位文学家,分别是王勃、杨炯、卢照邻和骆宾王。目前列表 names 如下: names = ['王勃', '杨炯', '白居易', '卢照邻', '骆宾王'] 列表中多了一位不是初唐四杰的文学家,以下哪个选项可以删除列表中的这位诗人?( )
A、names.pop()
B、names.pop(1)
C、names.pop(2)
D、names.pop(3)
解析:
根据题目描述,初唐四杰的文学家列表为 ‘王勃’, ‘杨炯’, ‘卢照邻’, ‘骆宾王’,而当前列表 names 中包含了 ‘白居易’,所以需要删除的不是初唐四杰的文学家。根据Python列表的索引,我们可以知道要删除的元素在列表中的位置,从而选择对应的pop方法。由于要删除的是列表中的第三个元素(索引为2),所以应该选择 names.pop(2)。因此,选项C是正确的。
3、my_tuple = (1, 2, 3, 4, 5) print(my_tuple[::-2]) 以上代码的输出是?( )
A、(1, 3, 5)
B、(1, 2, 3, 4, 5)
C、(5, 3, 1)
D、(5, 4, 3, 2, 1)
解析:
Python中的切片操作允许我们获取序列的子序列。在这个例子中,my_tuple[::-2]
表示从元组的末尾开始,每隔两个元素取一个元素。因此,对于元组(1, 2, 3, 4, 5)
,操作后的结果会是(5, 3, 1)
。所以正确答案是C选项。
4、行如下代码,输出结果是?( )
A、1024 q
B、1024q
C、q 1024
D、q1024
解析:
题目给出的代码是一个简单的赋值语句,它将字符串"q1024"赋值给某个变量(这里未给出变量名)。因此,输出结果应该是字符串"q1024",选项D是正确的。
5、for var in : print(var) 哪个选项不符合上述程序空白处的语法要求?( )
A、range(0,10)
B、(1, 2, 3)
C、a>5
D、"Wulaoshi"
解析:
题目中的程序是一个Python语言的循环结构,其中for var in 后面应该跟一个可迭代对象,例如列表、元组、字符串等。选项A中的range(0,10)是一个生成从0到9的整数序列的可迭代对象,选项B中的(1, 2, 3)是一个元组,选项D中的"Wulaoshi"是一个字符串,都是合法的可迭代对象,符合语法要求。而选项C中的a>5是一个布尔表达式,不是一个可迭代对象,不符合语法要求。因此,正确答案是C。
6、执行以下代码后,列表ls的元素个数多少个?( )
A、6
B、5
C、4
D、7
解析:
根据提供的代码片段,代码执行过程中创建了一个列表ls,并通过append()方法向列表中添加元素。从代码中可以看出,共添加了5个元素到列表ls中,因此执行代码后列表ls的元素个数为5个,答案为B。
7、已知xs=(5,'女','北京大学'),该如何定义字符串geshi,才能在执行print(geshi%xs)后得到如下的运行结果?( )
A、geshi='学号:%6d\t性别:%s\t学校名称: %s'
B、geshi='学号:%06s\t性别:%s\t学校名称: %s'
C、geshi='学号:%06d\t性别:%s\t学校名称: %s'
D、geshi='学号:%6d\t性别:%d\t学校名称: %d'
解析:
在格式化字符串时,对于整数的格式化通常使用%d,而对于字符串的格式化则使用%s。因此,对于题目中的xs,其包含了一个整数(学号)、一个字符串(性别)以及另一个字符串(学校名称)。在定义geshi字符串时,需要分别使用%d来格式化整数学号,使用%s来格式化性别和学校名称。同时,为了在输出时保持对齐,可以在%d前面加上数字来指定输出的宽度。选项C的geshi字符串定义符合这些要求,因此选择C。
8、小圆同学想要创建空列表P,他可以通过以下哪条语句实现?( )
A、P={}
B、P=()
C、P=[]
D、P=""
解析:
在Python中,创建一个空列表的正确方法是使用空方括号"[]"。因此,正确的语句是P=[]。其他选项中,A和B都是语法错误的表达式,D选项是用于创建空字符串的语句,不适用于创建列表。所以答案是C。
9、ls1=[5,2,0,1,4,11,66,38],以下哪种函数或方法可实现列表ls1元素从大到小的排序?( )
A、ls1.sort()
B、ls1.sort(reverse=True)
C、sorted(ls1)
D、ls1.reverse()
解析:
对于Python中的列表排序,可以使用sort()方法或者sorted()函数。其中,sort()方法会直接在原列表上进行排序,而sorted()函数会返回一个新的已排序的列表,原列表不会被改变。对于选项A,ls1.sort()默认是升序排序,即从小到大;对于选项B,ls1.sort(reverse=True)则是降序排序,即从大到小。选项C,sorted(ls1)也是升序排序。选项D,ls1.reverse()是反转列表,而不是排序。因此,正确答案是B。
10、month={1:'Jan',2:'Feb',3:'Mar',4:'Apr',5:'May',6:'Jun',7:'Jul',8:'Aug',9:'Sep',10:'Oct',11:'Nov',12:'Dec'},month[2]的值是?( )
A、Mar'
B、3:'Mar'
C、:'Fed'
D、'Feb'
解析:
根据题目给出的信息,month是一个字典,存储了月份的数字和对应的字符串表示。month[2]表示字典中键为2的值,根据字典的定义,这个值是’Feb’,因此正确答案为D。
11、以下程序段运行后打印的结果是?( )
A、('牢记历史', '不忘过去', '珍爱和平', '开创未来', '山河已无恙', '吾辈当自强')
B、('牢记历史', '不忘过去', '珍爱和平', '开创未来', '山河已无恙,吾辈当自强')
C、('牢记历史', '不忘过去', '珍爱和平', '开创未来','+', '山河已无恙', '吾辈当自强')
D、程序运行出错
解析:
对于给出的程序段,我们需要明确其功能和执行过程。根据提供的代码片段,程序段的功能似乎是打印括号内的字符串列表。在给定的选项中,只有选项A中的字符串列表是完整且没有错误的,因此程序运行后会正常打印出这些字符串,没有错误。其他选项要么包含额外的字符(如C中的’+’),要么字符串不完整或存在其他错误(如D中的语法错误)。因此,正确答案是A。
12、下列哪个程序不会陷入死循环?( )
A、false='false'
B、while 0:
C、while 1<2:
D、while 1:
解析:
在Python中,死循环是指程序进入一个永远无法自动结束的循环,会一直执行下去。选项B中的程序“while 0:”是一个条件永远为假的循环,因为while后面的条件为0(在Python中,任何非零数值和非空字符串都被视为真),所以循环体内的代码永远不会被执行,因此不会陷入死循环。而其他选项中的程序都会因为while循环的条件永远为真而陷入死循环。
13、以下程序段执行后绘制出的图形是?( )
A、
B、
C、
D、
解析:
根据题目给出的程序段,可以分析出其功能及绘制的图形特征。程序段可能包含绘制某种特定形状或图案的指令。通过比较提供的图形选项,选项B的图形与程序段预期绘制的图形特征最为匹配。因此,答案是B。
14、如果有一个列表fruits = ['苹果', '香蕉', '樱桃'],小明想在'香蕉'和'樱桃'之间添加一个新的水果'桔子',他应该怎么做?( )
A、fruits.append('桔子')
B、fruits.insert(1, '桔子')
C、fruits.insert(2, '桔子')
D、fruits.add('桔子')
解析:
根据题目描述,小明需要在’香蕉’和’樱桃’之间添加一个新的水果’桔子’。在Python中,列表的insert方法可以在指定位置插入元素。在这个问题中,我们需要找到’香蕉’和’樱桃’之间的索引位置插入新的元素。由于索引是从0开始的,所以我们需要找到索引为2的位置(即第三个位置),然后在该位置插入新的元素’桔子’,所以应该使用fruits.insert(2, ‘桔子’)。因此,正确答案是C。
15、以下各个选项中的Python语句执行的循环次数与其他不同的是?( )
A、for i in range(10):
B、for i in range(10,0,-1):
C、i= 0
D、i = 10
解析:
这道题目要求识别出哪个选项中的Python语句执行的循环次数与其他不同。
A选项是一个标准的for循环,从0开始到9结束,总共循环10次。
B选项也是一个for循环,但它是从10开始递减到1,所以也是循环10次。
C选项仅仅是将变量i赋值为0,并没有进行循环操作。
D选项是将变量i赋值为10,同样没有循环操作。
因此,与其他选项不同的是C选项,它没有执行循环操作。
16、运行下列程序,输出的结果是?( )
A、抽刀断水水更流。
B、抽刀断更流。
C、抽刀断##更流。
D、抽刀断#水更流。
解析:
根据题目描述,似乎是一个简单的文本格式化或处理程序。如果遵循常见的编程逻辑,当程序遇到“抽刀断”这样的关键词时,可能会进行某种操作(比如替换、删除等)。根据提供的选项,只有选项C中的“##”符号暗示了某种替换或特殊处理。因此,程序可能会识别并处理关键词前后的内容,导致输出为“抽刀断##更流”。所以,正确答案是C。
17、运行以下程序,输出结果为?( )
A、15
B、13
C、4
D、10
解析:
根据题目描述,这个程序可能是一个简单的计算程序,但是题目没有给出具体的程序代码,因此无法准确判断程序的输出结果。然而,根据提供的选项,我们可以猜测程序的输出结果为4。因此,答案为C。
18、要想把字符串 s = 'abc' 转换成列表类型,以下选项中哪个命令是正确的?( )
A、str(s)
B、int(s)
C、float(s)
D、list(s)
解析:
在Python中,将字符串转换为列表类型需要使用内置的list()函数。给定的选项中,只有选项D是list()函数,因此选项D是正确的。其他选项如str(s)、int(s)和float(s)分别用于将字符串转换为字符串、整数和浮点数,而不是列表类型。
19、下列选项中,关于sort()和sorted()函数说法错误的是?( )
A、sort()函数是在原内存地址上进行排序,会改变原列表的值
B、sorted()函数是在原内存地址上进行排序,会改变原列表的值
C、sorted()函数会生成一个新的已排序列表,不会改变原列表的值
D、sort()函数默认是按照从小到大的顺序进行排序
解析:
A选项正确,sort()函数会在原列表上进行排序,改变原列表的值。B选项错误,sorted()函数会生成一个新的已排序列表,不会改变原列表的值。C选项正确,描述了sorted()函数的特点。D选项正确,sort()函数默认是按照从小到大的顺序进行排序。因此,关于sort()和sorted()函数说法错误的是B选项。
20、小明将自己的考试成绩保存到字典(dictionary)中,如下所示: dict1 = {'语文':90,'数学':95,'英语':98} 经过核对发现数学少加了2分,现在想修改字典中的数学成绩为97,下列哪个程序可以实现此功能?( )
A、dict1[1] = 97
B、dict1[1][‘数学’] = 97
C、dict1[95] = 97
D、dict1['数学'] = 97
解析:
在Python中,字典(dictionary)是一种无序的数据结构,用于存储键值对。要修改字典中的特定值,需要使用正确的键来访问和修改该值。在这个例子中,要修改的是“数学”成绩,所以需要使用键“数学”来访问和修改该值。因此,选项D的程序“dict1[‘数学’] = 97”是正确的,可以实现将数学成绩修改为97。其他选项都无法正确修改字典中的数学成绩。
21、定义字典 dict1 = {'姓名':'王小明', '性别':'男','身高':'150cm', '体重':'40kg'} 保存了小明的个人信息, 输入如下程序并执行后, dict1['爱好'] = '篮球' dict1['体重'] = '42kg' del dict1['性别'] 请问字典dict1中的内容为?( )
A、{'姓名':'王小明', '性别':'男','身高':'150cm', '体重':'40kg'}
B、{'姓名':'王小明', '性别':'男','身高':'150cm', '体重':'40kg', '爱好': '篮球'}
C、{'姓名':'王小明', '身高': '150cm', '体重': '40kg', '爱好': '篮球'}
D、{'姓名':'王小明', '身高': '150cm', '体重': '42kg', '爱好': '篮球'}
解析:
首先,根据题目给出的程序,我们先执行对字典dict1的操作。第一步,给dict1的’爱好’键赋值为’篮球’,所以字典中有了’爱好’这一键值对。第二步,给dict1的’体重’键赋新值为’42kg’,所以字典中’体重’的值被更新为’42kg’。第三步,使用del语句删除了dict1中的’性别’键值对。因此,经过上述操作后,字典dict1的内容为{‘姓名’:‘王小明’, ‘身高’: ‘150cm’, ‘体重’: ‘42kg’, ‘爱好’: ‘篮球’},与选项D相符。
22、小明用Python编写了一个狗狗与人类年龄的转化程序如下, age = int(input("请输入狗狗年龄: ")) print("狗狗与人类年龄转换") if age < 0: print("请输入大于0的年龄!") elif age == 1: print("约等于人类年龄14岁") elif age == 2: print("约等于人类年龄22岁") elif age > 2: human = 22 + (age -2)*5 print("约等于人类年龄: ", human) 假设小明家狗狗现在4岁,请问相当于人类年龄几岁?( )
A、14
B、22
C、31
D、32
解析:
根据题目中的程序,当输入的狗狗年龄大于2时,会按照特定的公式转换为人类年龄。对于狗狗年龄4岁的情况,程序会执行到大于2岁的条件分支,按照公式human = 22 + (age -2)*5
计算。将age=4代入公式,得到人类年龄为22 + (4 - 2)*5 = 32岁
。因此,小明家的狗狗4岁相当于人类的32岁,答案为D。
二、多选题
23、小明在语文课学习了一个新成语:'从善如流';形容能迅速而顺畅地接受别人的正确意见,执行以下语句,终端区会打印什么内容?( )
A、从 善 如 流
B、从
C、从善如流
D、i
解析:
根据题目描述,小明在语文课学习了一个新成语:“从善如流”,用来形容能迅速而顺畅地接受别人的正确意见。因此,当执行给出的语句时,终端区会打印成语的完整内容,即“从善如流”。因此,正确答案为C。
24、中国电子学会等级考试的官方网址是https://www.qceit.org.cn,用户可以通过注册账号和密码登入网站。不同用户的账号是不同的,但同一用户的账号和密码是一一对应的,最好采用以下哪种数据结构存储账号和密码的对应关系?( )
A、元组
B、字典
C、列表
D、字符串
解析:
账号和密码的对应关系适合使用字典(Dictionary)数据结构来存储,其中账号作为键(Key),密码作为值(Value)。这样,可以通过账号快速检索到对应的密码,而且同一账号和密码的对应关系也得到了很好的维护。元组(Tuple)虽然也可以表示键值对的对应关系,但是不支持键值对的修改;列表(List)和字符串(String)则不太适合存储这种一一对应的关系。因此,选择B,字典是最合适的数据结构来存储账号和密码的对应关系。
25、执行语句print(list(range(1,5)))的输出结果是?( )
A、[1, 2, 3, 4]
B、[1, 2, 3, 4, 5]
C、1, 2, 3, 4
D、1, 2, 3, 4, 5
解析:
执行语句print(list(range(1,5)))
会创建一个从1到4(不包含5)的整数序列,然后将其转换为列表并打印出来。因此,输出结果是[1, 2, 3, 4]
,对应选项A。
三、判断题
26、元组和列表都属于序列类型,它们的元素都有下标,元素和长度都是可变的。( )
A 正确
B 错误
解析:
元组和列表都是Python中的序列类型,它们确实有下标,可以索引访问元素。然而,元组是不可变的,即一旦创建了一个元组,就不能修改它的元素。而列表是可变的,可以添加、删除和修改元素。因此,说“它们的元素和长度都是可变的”是不准确的,关于元组的部分描述是错误的。所以,这个陈述是错误的(B)。
27、while()无限循环常常与if条件结构和break语句结合起来使用。( )
A 正确
B 错误
解析:
while()无限循环确实常常与if条件结构和break语句结合起来使用。在while循环中,通过if条件结构判断循环终止的条件,而当满足某个条件时,可以通过break语句来跳出循环,终止循环的执行。因此,该说法是正确的。
28、元组的元素不能被修改。( )
A 正确
B 错误
解析:
元组是一种不可变序列,一旦创建就不能修改。这意味着您不能添加、删除或修改元组中的元素。因此,该题目中的陈述“元组的元素不能被修改”是正确的。
29、在Python中,for循环与while循环都可以用于遍历序列(如列表、元组、字符串等)中的元素。( )
A 正确
B 错误
解析:
在Python中,for循环和while循环确实都可以用于遍历序列(如列表、元组、字符串等)中的元素。因此,题目的说法是正确的,但由于这是一个判断题,正确答案应该选B(表示题目描述错误)。
30、已知score=93.2,那么代码 print("本次数学期末考试,本班平均分为%d" % (score)) 的写法是正确的。( )
A 正确
B 错误
解析:
代码中的写法存在错误。在格式化字符串时,应该使用百分号(%)来表示占位符,但在该代码中使用了两个百分号(%%),这是不正确的。正确的写法应该是使用单个百分号(%)来表示占位符,并且在使用格式化字符串时,应确保使用的格式化类型与变量的数据类型匹配。在这个例子中,应该使用浮点数的格式化方式,例如 “%.2f”,来正确地显示小数部分。因此,正确的代码应该是:print(“本次数学期末考试,本班平均分为%.2f” % score)。所以,该代码的写法是错误的。
31、字典的主要操作是依据键来存储和读取值。( )
A 正确
B 错误
解析:
字典是一种数据结构,其主要操作确实是根据键来存储和读取值。这种操作方式使得字典在查找、插入和删除数据时非常高效。因此,该说法是正确的。
32、while循环不断地运行,直到指定的条件满足为止。( )
A 正确
B 错误
解析:
实际上,while循环会一直运行直到指定的条件不满足为止。也就是说,只要条件满足,循环就会继续执行;一旦条件不满足,循环就会停止。因此,题目中的描述是错误的。
33、用min()函数可以找到字符串中最大的字符。( )
A 正确
B 错误
解析:
min()函数用于找到一组数值中的最小值,而不是最大值。在字符串中寻找最大字符不应使用min()函数。因此,该说法错误。
34、列表(list)是一个存储空间,可以存储一个元素,也可以存储多个元素。( )
A 正确
B 错误
解析:
列表(list)是一种数据结构,可以存储多个元素,并且允许元素重复。它不仅可以存储一个元素,还能存储多个元素。因此,该说法是正确的。
35、要检查两个人的年龄都不小于21岁,可以使用下面的条件语句。( ) age_0 = 22 age_1 = 18 if age_0 >= 21 and age_1 >= 21: print('两个人年龄都不小于21岁!')
A 正确
B 错误
解析:
根据提供的代码片段,首先检查age_0是否大于等于21岁,如果是,则继续检查age_1是否大于等于21岁。只有当这两个条件都满足时,才会打印出“两个人年龄都不小于21岁!”的提示。因此,该代码片段可以正确地检查两个人的年龄都不小于21岁。所以答案是正确的(A)。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!