一、单选题
1、有如下Python程序段:
x,y=12,5
if x % y==0:
z=x/y
print(x,"/",y,"=",z)
else:
z=y*x
print(x,"*",y,"=",z)
程序段执行后,输出的结果为?( )
A x/y=2.4
B x*y=60
C 12/5=2.4
D 12*5=60
解析:【喵呜刷题小喵解析】首先,根据题目给出的Python程序段,变量x的值为12,变量y的值为5。接着,程序会判断x是否能被y整除,即判断x % y是否等于0。由于12不能被5整除,所以x % y的结果不为0,程序会执行else分支的代码。在else分支中,变量z被赋值为y乘以x,即5乘以12,结果为60。然后,程序会输出x、y和z的值,即输出"12*5=60"。因此,程序段执行后,输出的结果为"12*5=60",选项B正确。
2、下列创建元组的方法中不正确的是?( )
A t=(1,2,'信息')
B t=(1)
C t=('信息',)
D t='音乐','体育','美术'
解析:【喵呜刷题小喵解析】在Python中,元组(tuple)是一种不可变序列类型,由多个元素组成,元素之间用逗号分隔。元组中的元素可以是不同类型的数据,如整数、浮点数、字符串等。创建元组的基本语法是:`t = (元素1, 元素2, ...)`。
选项A:`t=(1,2,'信息')`,这是一个正确的元组创建方式,元素之间用逗号分隔。
选项B:`t=(1)`,这是一个元素为1的元组,但括号内只有一个元素,且没有逗号分隔,因此这不是一个合法的元组创建方式。
选项C:`t=('信息',)`,这是一个元素为'信息'的元组,虽然只有一个元素,但元素之间有逗号分隔,因此这是一个合法的元组创建方式。
选项D:`t='音乐','体育','美术'`,这不是一个合法的元组创建方式,因为元组的创建需要用括号括起来,且元素之间需要用逗号分隔。这里只是用逗号分隔了三个字符串,并没有使用括号,所以这不是一个合法的元组。
综上所述,选项B和选项D都不是合法的元组创建方式,但B更明显地违反了元组创建的规则,所以选择B是不正确的创建元组的方法。
3、s='语文、数学、英语、信息技术'
l=s.split('、')
print(l)
以上代码的运行结果为?( )
A ['语文', '数学', '英语', '信息技术']
B ['语文、数学、英语、信息技术']
C ('语文', '数学', '英语', '信息技术')
D ('语文、数学、英语、信息技术')
解析:【喵呜刷题小喵解析】:根据代码,字符串`s`的内容是`'语文、数学、英语、信息技术'`,然后通过`split('、')`方法将字符串按照'、'字符进行分割。`split`方法会返回一个列表,其中包含了分割后的各个子字符串。因此,代码的运行结果应该是一个列表,包含了`'语文'`、`'数学'`、`'英语'`和`'信息技术'`这四个字符串。所以,选项A是正确的。
4、已知存在字典a中有多个键值对,以下指令可以清空字典并保留变量的是?( )
A a.remove()
B a.pop()
C a.clear()
D del a
解析:【喵呜刷题小喵解析】:在Python中,清空字典的方法为`clear()`。选项A中的`remove()`方法用于移除列表中的元素,选项B中的`pop()`方法用于移除字典中的键值对并返回对应的值,选项D中的`del a`会删除整个字典,包括变量。因此,只有选项C的`clear()`方法能够清空字典并保留变量。
5、以下程序的运行结果是?( )
list1=[1,2,3]
list1[2]=4 print(list1)
A [1,2,4]
B [1,2,3]
C [1,4,3]
D [1,4]
解析:【喵呜刷题小喵解析】:在Python中,列表是可变的,可以通过索引来修改列表中的元素。在这个程序中,`list1`是一个包含三个元素的列表,索引从0开始。`list1[2]`表示列表中的第三个元素,它的索引是2。将`list1[2]`的值修改为4后,`list1`变成了`[1,2,4]`。然后程序输出修改后的`list1`。因此,程序运行的结果是`[1,2,4]`,选项A是正确的。
6、执行下列代码后,运行结果是?( )
l1 = [11, 22, 33] l2 = [66, 44, 22] for i in l1: for j in l2: if i == j: print(i)
A True
B 0
C 2
D 22
解析:【喵呜刷题小喵解析】:题目中的代码是两层嵌套的for循环,外层循环遍历列表l1,内层循环遍历列表l2。当l1中的元素i等于l2中的元素j时,会打印出i。在列表l1和l2中,只有元素22是共同的,因此会打印出22。因此,运行结果是22。
7、执行以下语句后的输出结果是?( )
>>> str1='My name is BeiJing'
>>> print(len(str1))
A 20
B 18
C 15
D 16
解析:【喵呜刷题小喵解析】:题目中的字符串是"My name is BeiJing",包含18个字符(包括空格)。`len()`函数用于返回字符串的长度,所以`len(str1)`的结果是18,输出的结果应为18。因此,选项B正确。
8、列表a=[1,2,3,4,5,6,7,8,9],对列表进行切片操作,要想得到[3,5,7],以下切片正确的是?( )
A a[-7:-2:-2]
B a[2:7:2]
C a[3:7:2]
D a[2:7:-2]
解析:【喵呜刷题小喵解析】本题考察Python中列表的切片操作。
在Python中,列表的切片操作的一般形式是:`list[start:stop:step]`,其中start表示切片的起始位置,stop表示切片的结束位置(但不包括该位置),step表示切片的步长。
对于选项A:`a[-7:-2:-2]`,表示从倒数第7个元素开始,到倒数第2个元素结束(不包括),步长为-2,这样得到的是[7, 5, 3],与题目要求的[3,5,7]不符。
对于选项B:`a[2:7:2]`,表示从第3个元素开始,到第7个元素结束(不包括),步长为2,这样得到的是[3, 5, 7],与题目要求的[3,5,7]相符。
对于选项C:`a[3:7:2]`,表示从第4个元素开始,到第8个元素结束(不包括),步长为2,这样得到的是[4, 6],与题目要求的[3,5,7]不符。
对于选项D:`a[2:7:-2]`,表示从第3个元素开始,到第7个元素结束(不包括),步长为-2,这样得到的是[3, 1],与题目要求的[3,5,7]不符。
因此,正确答案是C。
9、执行以下语句,将输出?( )
>>>list1=['b','c',1,2,3,4,5] >>>list1.append('a') >>>list1.append('a') >>>list1
A ['b','c',1,2,3,4,5]
B ['b','c',1,2,3,4,5,'a']
C ['b','c',1,2,3,4,5,'a','a']
D 无输出
解析:【喵呜刷题小喵解析】:根据题目中的代码,首先定义了一个列表`list1=['b','c',1,2,3,4,5]`。然后,执行两次`append`操作,分别将字符串`'a'`添加到列表的末尾。所以,最后列表`list1`的元素为`['b','c',1,2,3,4,5,'a','a']`。因此,正确答案是C选项。
10、不能用作if语句条件表达式的是?( )
A x in range(6)
B 3=a
C a>3 and b<10
D x-6>5
解析:【喵呜刷题小喵解析】:在Python中,if语句的条件表达式必须是一个可以评估为True或False的表达式。选项B中的表达式“3=a”是错误的,因为赋值操作符应该是“=”,而比较操作符应该是“==”。因此,这个表达式不能用作if语句的条件表达式。选项A中的“x in range(6)”是一个合法的条件表达式,因为它会评估x是否在0到5的范围内。选项C中的“a>3 and b<10”也是一个合法的条件表达式,因为它会评估a是否大于3且b是否小于10。选项D中的“x-6>5”也是一个合法的条件表达式,因为它会评估x是否大于11。因此,正确答案是B。
11、执行以下语句后,输出的结果是?( )
>>>list2 = ['a',1, 2, 3, 4, 5 ]
>>>print(list2[5])
A 5
B 4
C 3
D 提示错误
解析:【喵呜刷题小喵解析】:在Python中,列表的索引是从0开始的。所以,对于列表`list2 = ['a',1, 2, 3, 4, 5]`,有效的索引值应该是0到5。但在语句`print(list2[5])`中,索引值5超出了列表的范围,因此会抛出`IndexError`异常,而不是输出某个特定的值。所以,选项D“提示错误”是正确的。
12、 alist=['cat','bat','cat','hat','cat'], 执行下列代码,输出的结果是?( )
alist.remove('cat')
print(alist)
A ['cat','bat','cat','hat','cat']
B ['bat','cat','hat','cat']
C ['bat','hat']
D ['cat','bat','cat','hat']
解析:【喵呜刷题小喵解析】:
根据Python语言的列表对象`list`的`remove()`方法,当调用`remove()`方法移除列表中某个元素时,会移除列表中第一个出现的该元素。
在这个问题中,列表`alist=['cat','bat','cat','hat','cat']`,调用`alist.remove('cat')`会移除列表中第一个出现的'cat',也就是索引为0的元素。移除后,列表变为`['bat','cat','hat','cat']`。
接着,打印这个列表,输出的结果是`['bat','cat','hat','cat']`,但这不是选项中的任何一个。再检查一次,发现输出有误,正确的输出应该是`['bat','cat','hat']`。
再仔细检查代码和选项,发现选项C是`['bat','hat']`,但实际上正确的输出应该是`['bat','cat','hat']`,这是因为在列表中,'cat'元素在'bat'元素之后,所以应该保留。
因此,正确答案应该是选项C,但输出的结果应该是`['bat','cat','hat']`,而不是`['bat','hat']`。这个题目可能存在输入错误或者选项设置错误。
13、以下创建字典的方法,正确的是?( )
A d={学号,001,姓名,张三,成绩,98}
B d={'学号':'001','姓名':'张三','成绩':98}
C d={'学号','001','姓名','张三','成绩',98}
D d={'学号':'001';'姓名':'张三';'成绩':98}
解析:【喵呜刷题小喵解析】:
字典是Python中一种可变容器模型,它可以存储不重复的值,并且可以通过键(key)对值(value)进行索引。字典是由键和值配对组成,用冒号“:”分隔键和值,每个键值对用逗号“,”分隔,所有键值对用花括号“{}”括起来。因此,正确的创建字典的方法应该是选项B:`d={'学号':'001','姓名':'张三','成绩':98}`。选项A中的元素没有用冒号分隔,选项C和D中的元素没有用逗号分隔,都不符合字典的创建规则。
14、以下代码输出的结果是?( )
for i in "Python": if i == "t" or i == "o": continue print(i,end="")
A Pyhn
B Python
C Pyt
D Pytho
解析:【喵呜刷题小喵解析】:在这个Python代码中,我们有一个for循环,它遍历字符串"Python"中的每一个字符。当字符是't'或'o'时,使用continue语句跳过当前循环,不执行下面的print语句。因此,当遍历到't'或'o'时,它们不会被打印出来。所以,输出的结果应该是"Pyhn"。
15、对于字典dic={1:2,'3':'d','sex':1,4:{'No':1,'name':'Mike'}},len(dic)的值是?( )
A 3
B 4
C 5
D 6
解析:【喵呜刷题小喵解析】:在Python中,字典(dictionary)的len()函数返回的是字典中键值对的数量。对于给定的字典dic,其键值对如下:
* 1:2
* '3':'d'
* 'sex':1
* 4:{'No':1,'name':'Mike'}
共有4个键值对,因此len(dic)的值为4。所以正确答案是C选项。
16、 对于元组tup=(1,2,3,4,5)执行的操作非法的是?( )
A len(tup)
B max(tup)
C min(tup)
D tup[1] = 6
解析:【喵呜刷题小喵解析】:在Python中,元组(tuple)是不可变的(immutable),这意味着你不能更改元组中的元素。选项D试图更改元组中的一个元素,这是非法的操作。其他选项如len(tup),max(tup),min(tup)都是合法的操作,因为它们只是查询元组的属性,而并没有试图更改元组。因此,选项D是非法操作。
17、水果店促销每斤苹果5元,如果购买六斤及六斤以上还可以打八折,小红去买苹果,下面的哪一个的Python程序语句可以帮小红算一下她买苹果得花多少钱(具体购买斤数由小红输入)?( )
A x=input("请输入斤数:")
if x<6: y=5*x else: y=5*x*0.8 print(y)
B、x=eval(input("请输入斤数:"))
if x<6:
y=5*x
else:
y=5*x*0.8
print(y)
C、
x=eval(input("请输入斤数:")) if x<6: y=5*x*0.8 else: y=5*x print(y)
D、
x=input("请输入斤数:") if x<6: y=5*x*0.8 else: y=5*x print(y)
解析:【喵呜刷题小喵解析】:
根据题目描述,当购买苹果斤数小于6时,每斤的价格是5元;当购买斤数大于等于6时,每斤的价格是5元的80%(即打八折)。
A选项:当购买斤数小于6时,计算的价格是正确的,但是当购买斤数大于等于6时,计算的价格仍然是原价,没有打八折,所以A选项是错误的。
B选项:当购买斤数小于6时,计算的价格是正确的,当购买斤数大于等于6时,计算的价格是打八折后的价格,所以B选项是正确的。
C选项:当购买斤数小于6时,计算的价格是打八折后的价格,当购买斤数大于等于6时,计算的价格是原价,所以C选项是错误的。
D选项:当购买斤数小于6时,计算的价格是打八折后的价格,但是当购买斤数大于等于6时,计算的价格也是打八折后的价格,与题目描述不符,所以D选项是错误的。
因此,正确的答案是B选项。
18、执行下列代码后,运行结果是?( )
s="垃圾分类" i=len(s) while i>=0: print(s[i-1]) i=i-1
A、
类
分
圾
垃
B、
垃
圾
分
类
C 垃
圾
分
类
垃
D、
类
分
圾
垃
类
解析:【喵呜刷题小喵解析】:
首先,我们分析给定的代码。代码定义了一个字符串`s`,其值为"垃圾分类",然后计算了字符串的长度`i`。接着,使用`while`循环从字符串的最后一个字符开始,向前遍历并打印每个字符,直到达到字符串的起始位置。
代码执行过程如下:
1. 初始化`s="垃圾分类"`,`i=4`(字符串长度)。
2. 进入`while`循环,当`i>=0`时执行循环体。
3. 打印`s[i-1]`,即"类"。
4. `i=i-1`,`i=3`。
5. 再次进入循环,打印"分"。
6. `i=i-1`,`i=2`。
7. 再次进入循环,打印"圾"。
8. `i=i-1`,`i=1`。
9. 再次进入循环,打印"垃"。
10. `i=i-1`,`i=0`。
11. 再次进入循环,但此时`i`已经小于0,循环结束。
因此,运行结果是"垃圾分类垃圾分类类"。但题目中只给出了四个选项,没有包括完整的输出结果。从给出的选项中,最接近实际输出的是选项C:"垃圾分类类"。但这不是完整的输出,只是部分输出。
实际上,完整的输出应该是:"垃圾分类垃圾分类类分圾类垃圾类分垃圾"。但由于题目只给出了四个选项,我们可以推测题目可能是想考察对代码执行过程的理解,而不是实际输出。因此,正确答案是选项C,但这是不完整的输出。
需要注意的是,为了更准确地解答此类问题,应该直接运行代码并查看完整输出,而不是仅凭选项来猜测。
19、在列表a中存放1-100之间所有的奇数,可以有多种方法,以下哪种方法是错误的?( )
A a=list(range(1,100,2))
B a=range(1,101,2)
C a=[]
i=1
while i<100:
a.append(i)
i+=2
D、
a=[]
for i in range(1,100,2):
a.append(i)
解析:【喵呜刷题小喵解析】:在列表a中存放1-100之间所有的奇数,我们需要找到错误的方法。
A选项:`a=list(range(1,100,2))`,使用`range`函数生成1到100的奇数序列,然后转换为列表,这是正确的方法。
B选项:`a=range(1,101,2)`,同样使用`range`函数生成1到100的奇数序列,这是正确的方法。
C选项:`a=[]`,`i=1`,`while i<100:`,`a.append(i)`,`i+=2`。这个选项试图通过循环将奇数添加到列表中,但初始时列表`a`为空,循环时只会将1添加到列表中,之后由于`i+=2`,循环会直接跳到3,因此错过了2,这个方法是错误的。
D选项:`a=[]`,`for i in range(1,100,2):`,`a.append(i)`。这个选项使用`for`循环遍历1到100的奇数,并将它们添加到列表中,这是正确的方法。
因此,错误的方法是C选项。
20、若li=list(range(1,10,2)),则print(li)的结果是?( )
A [0,2,4,6,8,10]
B [1,3,5,7,9]
C [1,2,3,4,5,6,7,8,9,10]
D [0,2,4,6,8]
解析:【喵呜刷题小喵解析】题目中`li=list(range(1,10,2))`这行代码的含义是生成一个从1开始,以2为步长,到10结束(不包含10)的整数列表。因此,生成的列表是`[1, 3, 5, 7, 9]`。所以,`print(li)`的结果是`[1, 3, 5, 7, 9]`,与选项D `[0,2,4,6,8]`不符,故正确答案为D。
21、已知a=['a','b'],b=[7,8,9],如果c=a*2+b,那么列表c是?( )
A ['a','b','a','b',7,8,9]
B ['a','b',2,7,8,9]
C ['a','b',7,8,9,'a','b']
D ['a','b','a','b',7,8,9,7,8,9]
解析:【喵呜刷题小喵解析】在Python中,字符串(如'a'和'b')不能和数字进行算术运算。因此,a*2这样的表达式在Python中是不合法的。题目中的表达式c=a*2+b实际上无法执行,因为它试图将字符串'a'和'b'与数字进行乘法运算。如果忽略这个错误,并假设a和b都是数字列表,那么a*2应该产生一个新的列表,其元素是a中元素的重复。但是,a实际上是一个包含字符串'a'和'b'的列表,所以这种假设不成立。因此,这个题目可能是出错了,或者它试图测试某种特定情境,但表述不清楚。
如果忽略题目中的错误,并假设a和b都是数字列表,那么a*2应该产生[2, 4],然后[2, 4] + b应该产生[2, 4, 7, 8, 9]。但是,题目中的选项都不符合这个描述。最接近的是选项D,但它包含了重复的'a'和'b'字符串,这是不正确的。
因此,这个题目可能是出错了,或者它试图测试某种特定情境,但表述不清楚。在正常的Python语法和逻辑下,没有正确答案。如果目的是测试对Python列表操作的理解,那么应该重新表述问题,确保它符合Python的语法和逻辑。
22、已知a=[1,2,3,4,5,6,7],则a[0:-2]的的值是?( )
A [1,2,3,4,5,6]
B [2,3,4,5,6]
C [1,2,3,4,5]
D [2,3,4,5]
解析:【喵呜刷题小喵解析】在Python中,列表的索引是从0开始的。给定列表a=[1,2,3,4,5,6,7],a[0:-2]表示从索引0到索引-2(不包括-2)的元素。在Python中,负数索引表示从列表尾部开始计数,所以-2实际上是指向列表的倒数第二个元素。因此,a[0:-2]将返回[1,2,3,4,5]。所以正确答案是C选项。
23、以下语句不正确的是?( )
A、
dict={1:'a'}
B、
a={'name':'bob'}
C、 e={[1]:'篮球'}
D、
c={'school':'精英小学'}
解析:【喵呜刷题小喵解析】:在Python中,字典的键必须是不可变的,例如整数、字符串、元组等。而在选项C中,`e={[1]:'篮球'}`,这里的键是一个列表`[1]`,它是可变的,所以这是不正确的。因此,选项C是不正确的语句。
24、关于 break的作用,以下说法正确的是?( )
A 按照缩进跳出当前层语句块
B 暂停该语句后面的循环内容,跳转到循环开始位置开始下一轮循环
C 跳出当前层for/while循环
D 跳出所有for/while循环
解析:【喵呜刷题小喵解析】:在编程中,`break`语句用于跳出当前层的循环,无论是`for`循环还是`while`循环。它不会按照缩进跳出当前层语句块,也不会暂停该语句后面的循环内容,更不会跳出所有循环。因此,选项C“跳出当前层for/while循环”是正确的。
25、若s=(1,'a',[1,2]),则len(s)的值为?( )
A 错误
B 2
C 3
D 4
解析:【喵呜刷题小喵解析】:在Python中,元组(tuple)的长度是其包含的元素数量。给定的元组s=(1,'a',[1,2])包含三个元素:一个整数1,一个字符串'a',和一个列表[1,2]。因此,len(s)的值为3。所以正确答案是C。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!