一、单选题
1、
yyh=[2023,‘杭州亚运会’,[‘拱宸桥’,‘玉琮''莲叶’]] jxw=yyh[2][0] print(jxw[1]*2) 以上代码运行结果是?( ) | |
A、宸宸
B、杭杭
C、玉玉
D、州州
解析:【喵呜刷题小喵解析】:首先,我们解析一下给出的代码。代码中的`yyh`是一个列表,包含三个元素:1. 20232. '杭州亚运会'3. 一个包含三个元素的列表:[‘拱宸桥’,‘玉琮''莲叶’]`jxw`是`yyh`的第三个元素的第一个元素,即`‘拱宸桥’`。然后,代码执行`print(jxw[1]*2)`。这里`jxw`是一个字符串,字符串没有数字乘法操作,所以直接执行会报错。但题目可能的意思是`jxw`应该是一个列表,所以我们假设`jxw`是`['拱', '宸', '桥']`。在这种情况下,`jxw[1]`是列表的第二个元素,即`'宸'`。最后,`print(jxw[1]*2)`尝试将`'宸'`乘以2,这会导致TypeError,因为字符串不能和数字相乘。但如果忽略这个错误,代码会尝试将字符串'宸'转换为一个数字,这通常会导致一个ValueError,因为字符串'宸'不能转换为一个有效的数字。但题目可能的意思是`jxw[1]`是一个数字,所以我们假设`jxw[1]`是7。在这种情况下,`jxw[1]*2`的结果是14。然而,由于原始代码中存在语法错误,这个解析基于一些假设。在实际代码中,我们应该避免类似的错误,并确保在进行乘法操作之前,变量确实是一个数字。回到题目中的选择,我们看到给出了四个选项:A. 14B. 拱宸桥C. 玉琮D. 杭州亚运会根据我们的解析,只有A选项14是可能的答案,尽管这个答案基于一些假设。因此,正确答案是A选项。
2、
阿宝在学习Python语言编程,他写了一个程序可以实现输入月份数字就可以输出2023年该月的天数。 程序如下: monthdays=[0,31,28,31,30,31,30,31,31,30,31,30,31] m=int(input()) print(‘2023年’+str(m)+‘月有’+str(monthdays[m])+‘天。’) 要想得到2023年9月的天数,应该在终端输入的数字是?( ) |
A、11
B、10
C、9
D、8
解析:【喵呜刷题小喵解析】阿宝的程序中,`monthdays`列表存储了每个月的天数,其中0代表2月(非闰年),31代表1月、3月、5月、7月、8月、10月、12月,28代表2月(闰年)。要得到2023年9月的天数,应该查看`monthdays`列表中的第9个元素,即`monthdays[8]`,因为列表索引是从0开始的。因此,应该在终端输入的数字是9。
3、下面这个列表中,包含几个元素?( )
list = [‘a’, [‘bb’, ‘cc’, ‘dd’], ‘e’, [‘ff’, ‘gg’], ‘h’]
print(list)
A、8个
B、5个
C、6个
D、4个
解析:【喵呜刷题小喵解析】:首先,我们需要明确题目中给出的列表内容。列表`list`包含的元素有:'a',一个包含'bb','cc','dd'的列表,'e',一个包含'ff','gg'的列表,以及'h'。这些元素中,只有一个包含'bb','cc','dd'的列表和一个包含'ff','gg'的列表是二级列表,它们自身也是一个元素,因此总共的元素数量应该是5个。因此,答案为B。
4、使用下列哪几个命令可以把列表list1变成列表list2?( )
list1 = [‘苹果’, ‘樱桃’, ‘西瓜’, ‘香蕉’, ‘葡萄’, ‘菠萝’, ‘芒果’, ‘火龙果’]
list2 = [‘苹果’, ‘樱桃’, ‘西瓜’, ‘香蕉’, ‘葡萄’, ‘菠萝’, ‘桑葚’, ‘番石榴’]
A、del list1[6:8]list1 += ['桑葚', '番石榴']
B、del list1[6:7]list1 += ['桑葚', '番石榴']
C、del list1[6:8]list1.append(['桑葚', '番石榴'])
D、del list1[6:7]list1.append(['桑葚', '番石榴'])
解析:【喵呜刷题小喵解析】:题目要求将列表list1变成列表list2,即删除list1中的第7和第8个元素(索引从0开始),并添加'桑葚'和'番石榴'。选项A:`del list1[6:8]`删除list1中的第7和第8个元素,`list1 += ['桑葚', '番石榴']`添加'桑葚'和'番石榴'到list1的末尾,符合题目要求。选项B:`del list1[6:7]`只删除list1中的第7个元素,不符合题目要求。选项C:`del list1[6:8]`删除list1中的第7和第8个元素,但`list1.append(['桑葚', '番石榴'])`是添加整个列表['桑葚', '番石榴']到list1的末尾,而不是单独添加'桑葚'和'番石榴',不符合题目要求。选项D:`del list1[6:7]`只删除list1中的第7个元素,`list1.append(['桑葚', '番石榴'])`是添加整个列表['桑葚', '番石榴']到list1的末尾,不符合题目要求。
5、
以下程序的输出结果是?( ) list = [‘华东’,‘华西’,‘华南’,‘华北’] list.insert(2,‘华中’) list.pop() print(list) |
A、['华东', '华西', '华中', '华南', '华北']
B、['华东', '华中', '华西', '华南', '华北']
C、['华东', '华西', '华中', '华南']
D、['华西', '华中', '华南', '华北']
解析:【喵呜刷题小喵解析】首先,我们分析给定的Python代码:```pythonlist = ['华东', '华西', '华南', '华北']list.insert(2, '华中')list.pop()print(list)```1. 初始时,`list`的内容是`['华东', '华西', '华南', '华北']`。2. 使用`list.insert(2, '华中')`,在索引2的位置插入'华中',此时`list`变为`['华东', '华西', '华中', '华南', '华北']`。3. 使用`list.pop()`,移除`list`的最后一个元素,此时`list`变为`['华东', '华西', '华中', '华南']`。4. 使用`print(list)`,输出`list`的内容,即`['华东', '华西', '华中', '华南']`。因此,程序的输出结果是`['华东', '华西', '华中', '华南']`,与选项C匹配。
6、下列程序运行后,输出的结果应该是哪个选项?( )
t = (‘s’, ‘a’, ‘a’, ‘r’, 5)
print(t.index(‘a’)+t.count(‘a’))
A、2
B、3
C、4
D、5
解析:【喵呜刷题小喵解析】首先,我们需要理解题目中的程序。程序定义了一个元组t,包含五个元素:'s', 'a', 'a', 'r', 5。然后,程序调用t的index方法和count方法,并将这两个方法的返回值相加,最后输出这个和。index方法返回元素在元组中的索引,如果元素不存在,则返回错误。在这个程序中,'a'的索引是1(因为Python的索引是从0开始的)。count方法返回元组中元素的数量。在这个程序中,'a'的数量是2。所以,index('a') + count('a') = 1 + 2 = 3。因此,程序输出的结果应该是3,对应选项B。
7、
numbers = [1 , 2 , 3 , 4],以下哪一项可以用来访问numbers中的第三个元素?( ) |
A、numbers[1]
B、numbers[2]
C、numbers[3]
D、numbers[4]
解析:【喵呜刷题小喵解析】在Python中,列表的索引是从0开始的。所以,列表`numbers = [1, 2, 3, 4]`的第三个元素是索引为2的元素,即`numbers[2]`。因此,选项B是正确的。
8、d = {“山东”:“青岛”, “浙江”:“杭州”, “安徽”:“芜湖”} ,请问删除d中’山东’对应的数据值的函数或方法是?( )
A、del d['浙江']
B、d.clear()
C、del d['山东']
D、d.pop('山东')
解析:【喵呜刷题小喵解析】题目中给出了一个字典d,其键值对为"山东"对应"青岛","浙江"对应"杭州","安徽"对应"芜湖"。题目要求删除"山东"对应的数据值,即"青岛"。在Python中,删除字典中指定键对应的值,应该使用`del`语句,并指定键名。因此,正确答案是`del d['山东']`。选项A、B、D均不符合题目要求,因此正确答案是C。
9、以下关于循环的说法,不正确的是?( )
A、for循环可以用于遍历列表中的所有元素
B、while循环满足循环条件时不断地运行,直到指定的条件不满足为止
C、Python中可以使用do…while循环
D、break和continue语句都可以用在for循环和while循环中
解析:【喵呜刷题小喵解析】在Python中,并没有do…while循环这种结构。do…while循环是某些其他编程语言(如Java)中的循环结构,但在Python中,只有for循环和while循环。因此,选项C的说法是不正确的。选项A、B和D的说法都是正确的。A选项表示for循环可以用于遍历列表中的所有元素,这是正确的;B选项表示while循环满足循环条件时不断地运行,直到指定的条件不满足为止,这也是正确的;D选项表示break和continue语句都可以用在for循环和while循环中,这也是正确的。
10、执行以下程序代码
score = eval(input(“请输入成绩:”))
if score > 0 and score < 60:
print(“不及格”)
elif score >= 60 and score <=100:
print(“及格”)
else:
print(“请输入正确的成绩”)
当输入60时,输出结果是?( )
A、及格
B、不及格
C、请输入正确的成绩
D、60
解析:【喵呜刷题小喵解析】:根据给定的程序代码,当输入的成绩为60时,程序会进入第二个条件判断,即`elif score >= 60 and score <=100:`。因为60满足这个条件,所以程序会输出"及格"。因此,当输入60时,输出结果是"及格"。
11、下列哪个说法不正确的是?( )
A、字典是通过key(键)来进行访问的,跟列表、元组不同
B、字典没有头上标和尾下标,跟value对应的就只有key(键)
C、Python中可以通过重新给字典当中的key赋值的方式修改对应的value,不能通过新增key的方式来添加新的元素
D、用Python内置函数是可以删除字典当中的元素的,整个字典也可以被清空或者删除
解析:【喵呜刷题小喵解析】:本题要求选择不正确的说法。A项表示字典是通过键(key)来进行访问的,这与字典的基本特性相符;B项指出字典没有索引,只有键与值相对应,这是字典的基本属性;D项表示可以使用Python内置函数来删除字典中的元素,或者清空、删除整个字典,这也是字典的常见操作。而C项表示“Python中可以通过重新给字典当中的key赋值的方式修改对应的value,不能通过新增key的方式来添加新的元素”,这是不正确的。在Python中,可以通过给字典中的键赋值来修改对应的值,也可以通过添加新的键来添加新的元素。因此,C项是不正确的说法。
12、
. | 请问此程序运行后的结果是?( ) s=1 for i in range(1,4,3): s = s+i print(s) |
A、2
B、6
C、1
D、5
解析:【喵呜刷题小喵解析】根据题目给出的程序,程序运行后打印的结果是6。程序中的循环`for i in range(1,4,3):`表示从1开始,以3为步长,循环到3(不包括4)。循环体内的`s = s+i`表示将i的值加到s上。初始时,s的值为1,循环过程中,i的值分别为1、2、3,所以s的值分别为2、3、6。最后,程序打印出s的值,即6。因此,答案是A选项,即6。
13、
关于Python循环结构的说法,下列哪个是错误的?( ) |
A、Python可以通过for和while循环,实现遍历和各种循环等功能
B、break是用来跳出自己所在的整个循环体,执行循环后面的语句
C、continue结束整个循环过程,不再判断循环的执行条件,继续顺序执行循环后面的语句
D、遍历循环中的遍历结构可以是字符串或者range()函数等
解析:【喵呜刷题小喵解析】:在Python中,循环结构主要包括for和while循环。其中,for循环用于遍历序列(如列表、元组、字符串等)或可迭代对象(如字典、集合等),而while循环则用于在满足特定条件时重复执行一段代码。A选项正确,Python确实可以通过for和while循环实现遍历和各种循环功能。B选项正确,break语句用于跳出当前循环,执行循环后面的语句。C选项错误,continue语句用于跳过当前循环的剩余部分,直接开始下一次循环的判断。它不会结束整个循环过程,而是继续判断循环的执行条件。D选项正确,在for循环中,遍历结构可以是字符串、列表、元组等序列类型,也可以是range()函数等可迭代对象。因此,C选项的说法是错误的。
14、下面几个有关流程控制的说法,那个是错误的?( )
A、如果条件判断语句永远为 true,循环将会无限的执行下去
B、当判断条件为假(false) 时,循环结束
C、在while 语句中,"判断条件"不可以是个常值
D、执行语句可以是单个语句或语句块。判断条件可以是任何表达式等
解析:【喵呜刷题小喵解析】:选项A中描述的是条件判断语句永远为true时,循环将会无限执行,这是正确的。选项B中描述的是当判断条件为假时,循环结束,这也是正确的。选项D中描述的是执行语句可以是单个语句或语句块,判断条件可以是任何表达式,这同样是正确的。而选项C中说在while语句中,"判断条件"不可以是个常值,这是错误的。因为在while语句中,判断条件可以是一个常值,例如 `while (true)` 或 `while (0)`。所以,错误的选项是C。
15、运行下面的代码,输出的结果是?( )
name1 = ‘玛卡巴卡’
name2 = ‘依古比古’
name3 = ‘唔西迪西’
print(‘晚安’ + name2)
A、晚安玛卡巴卡
B、晚安依古比古
C、晚安唔西迪西
D、晚安name2
解析:【喵呜刷题小喵解析】在代码中,首先定义了三个字符串变量`name1`、`name2`和`name3`,并分别赋值为`‘玛卡巴卡’`、`‘依古比古’`和`‘唔西迪西’`。然后执行`print('晚安' + name2)`语句,将字符串`'晚安'`和变量`name2`的值(即`‘依古比古’`)进行拼接,最终输出`‘晚安依古比古’`。因此,正确答案是B选项,即`‘晚安依古比古’`。
16、下面代码中,不能创建一个字典的是?( )
A、d = {}
B、d = {'葡萄', 20}
C、d = {'葡萄':20}
D、d = {'葡萄':20, '西瓜':12}
解析:【喵呜刷题小喵解析】在Python中,字典是一种可变容器模型,且可以存储任意类型对象。字典的每个键值对用冒号(:)连接,每个对之间用逗号(,)分隔,整个字典包括在花括号({})中。选项B中的代码`d = {'葡萄', 20}`不能创建一个字典,因为字典的键值对应该用冒号(:)分隔,而不是逗号(,)。正确的字典创建方式应该是`d = {'葡萄': 20}`。因此,选项B不能创建一个字典。
17、字典d = {“苹果”:“apple”,“香蕉”:“banana”,“橘子”:“orange”,“桃子”:“peach”}中按键值对的形式储存了部分水果的中英文名,以下能够只输出水果英文名的语句是?( )
A、print(d.values())
B、print(d.keys())
C、print(d.items())
D、以上三个语句都无法实现
解析:【喵呜刷题小喵解析】题目中给出了一个字典d,其中存储了水果的中英文对应关系。要输出字典中所有水果的英文名,需要使用字典的values()方法。字典的values()方法会返回字典中所有值的集合,也就是所有水果的英文名。所以,语句A print(d.values())能够实现题目要求。而B print(d.keys())会输出字典的键,也就是水果的中文名,不符合题目要求。C print(d.items())会输出字典的键值对,也不符合题目要求。因此,正确答案是A。
18、下列定义元组的语句,不正确的是?( )
A、tp=( )
B、tp=('sun')
C、tp=('star',)
D、tp=('sun','star','moon')
解析:【喵呜刷题小喵解析】:在Python中,元组(tuple)是一种不可变序列类型,用于存储一组值。元组中的元素用逗号分隔,并用括号包围。A选项:`tp=()`,这是一个空元组,是正确的。B选项:`tp=('sun')`,这是一个字符串,而不是元组。在Python中,单个元素的元组应该这样表示:`tp=('sun',)`。所以B选项是不正确的。C选项:`tp=('star',)`,这是一个只包含一个元素的元组,是正确的。D选项:`tp=('sun','star','moon')`,这是一个包含三个元素的元组,是正确的。因此,不正确的定义元组的语句是B选项。
19、下列关于列表的说法,正确的是?( )
A、列表创建后不能被修改
B、列表中各元素的类型必须相同
C、列表不能用下标访问
D、通过方括号[]可以创建列表
解析:【喵呜刷题小喵解析】:列表是Python中的一种基本数据结构,用于存储一系列有序的元素。A选项错误,列表创建后是可以被修改的。例如,我们可以添加、删除或修改列表中的元素。B选项错误,列表中各元素的类型不一定相同。列表可以包含不同类型的元素,如整数、字符串、浮点数等。C选项错误,列表可以用下标访问。在Python中,我们可以使用索引(下标)来访问列表中的元素。索引从0开始,可以使用正数或负数表示。D选项正确,通过方括号[]可以创建列表。例如,`my_list = [1, 2, 3]`创建一个包含三个整数的列表。因此,正确答案是D选项。
20、
已知列表animal = [‘cat’,‘dog’,‘monkey’,‘tiger’,‘lion’],要想得到’cat’的输出结果,以下哪个选项的语句是不正确的?( ) |
A、animal[0]
B、animal[1]
C、animal.reverse()animal[4]
D、animal.reverse()animal[-1]
解析:【喵呜刷题小喵解析】在Python中,列表的索引是从0开始的。对于给定的列表animal = ['cat', 'dog', 'monkey', 'tiger', 'lion'],'cat'的索引是0,所以选项A的语句animal[0]是正确的。'dog'的索引是1,所以选项B的语句animal[1]是正确的。列表没有reverse()方法来直接获取元素,reverse()方法会反转列表,所以选项C和D的语句都是错误的。因此,选项B是不正确的。
21、关于Python的元组类型,以下选项中描述错误的是?( )
A、元组不可以被修改
B、Python中元组使用小括号和逗号表示
C、元组中的元素要求是相同类型
D、一个元组可以作为另一个元组的元素,可以采用多级索引获取信息
解析:【喵呜刷题小喵解析】:元组(tuple)在Python中是一个不可变的序列类型,一旦创建,其内容就不能被修改。因此,选项A描述正确。元组使用小括号和逗号表示,如`(1, 2, 3)`,所以选项B描述正确。元组中的元素可以是不同类型,因此选项C描述错误。元组可以作为另一个元组的元素,可以使用多级索引获取信息,如`t = ((1, 2), (3, 4))`,t[0][1]的值是2,所以选项D描述正确。因此,选项C描述错误。
22、对 s = “www.baidu.com” 执行 s.split(“.”)后的结果是?( )
A、www.baidu.com
B、["www", "baidu", "com"]
C、"www.baidu.com"
D、wwwbaiducom
解析:【喵呜刷题小喵解析】对于字符串 `s = "www.baidu.com"`,执行 `s.split(".")` 后,字符串会在每个`.`字符处被分割。因此,结果会是 `["www", "baidu", "com"]`。选项B与此结果相符。
23、下面代码运行后,输出区打印的内容是?( )
s = 0
for i in range(10):
s += 1
if i * i < 50:
break
print(s)
A、0
B、1
C、7
D、3
解析:【喵呜刷题小喵解析】:在给出的代码中,变量`s`被初始化为0,然后通过一个for循环从0到9进行迭代。在每次迭代中,`s`的值增加1。当`i`的平方小于50时,循环通过`break`语句终止。由于`i`的值从0开始,所以循环会在`i=7`时终止,因为7的平方是49,小于50。因此,`s`的最终值为7。最后,`s`的值被打印出来,即输出为1。所以,正确答案是B。
24、以下代码执行后输出是?( )
list0 = [5, 4, 3, 2, 2]
list0.remove(2)
list0.insert(2, 6)
print(list0)
A、[5, 4, 3, 6, 2]
B、[5, 4, 3, 2, 6]
C、[5, 4, 3, 2, 6, 2]
D、[5, 4, 6, 3, 2]
解析:【喵呜刷题小喵解析】首先,我们分析给定的代码:```pythonlist0 = [5, 4, 3, 2, 2]list0.remove(2)list0.insert(2, 6)print(list0)```1. 初始化列表`list0`为`[5, 4, 3, 2, 2]`。2. 使用`remove(2)`方法从列表中移除一个2,此时列表变为`[5, 4, 3, 2]`。3. 使用`insert(2, 6)`方法在索引2的位置插入6,此时列表变为`[5, 4, 6, 3, 2]`。4. 最后,使用`print(list0)`打印列表,输出为`[5, 4, 6, 3, 2]`。因此,答案是选项D。
25、执行以下运算后,text2的值是?( )
text1 = “Good work”
text2 = text1[-1]*3
A、Good workGood workGood work
B、workworkwork
C、work work work
D、kkk
解析:【喵呜刷题小喵解析】在Python中,字符串是一个序列类型,可以通过索引访问其元素。`text1[-1]`表示取`text1`的最后一个字符。在本例中,`text1`的最后一个字符是`'k'`,乘以3得到`'kkk'`,因此`text2`的值为`'kkk'`。选项D与这个计算结果一致,故正确答案为D。
二、判断题
26、元组一旦被创建就不能被修改。(
A 正确
B 错误
解析:【喵呜刷题小喵解析】:元组在Python中是一种不可变序列类型,这意味着一旦元组被创建,其元素就不能被修改。这是元组与列表(另一种序列类型)的主要区别之一。列表是可变的,可以添加、删除或修改其元素,而元组则不能。因此,答案是正确的,即元组一旦被创建就不能被修改。
27、元组和列表都属于序列类型,他们的元素都有下标,可以调用sort()函数对元组和列表中的元素重新排列。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Python中,元组是不可变的序列类型,不能调用sort()函数对其中的元素进行重新排列。列表是可变的序列类型,可以调用sort()函数对其中的元素进行重新排列。因此,题目中的说法是错误的。
28、列表是有序的,列表中可以放多个不同类型的元素,列表也可以是空的,[],[(),[]]都是空列表。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:列表(list)是一种有序的数据结构,可以包含多个元素,但列表中的元素必须是同一类型。在Python中,列表可以包含不同类型的元素,但这并不意味着列表可以包含任意类型的元素。列表中的元素类型必须是一致的,或者至少是可以被Python解释器识别为同一类型的。例如,列表可以包含多个整数,或者多个字符串,但不能同时包含整数和字符串。另外,空列表的定义是一个不包含任何元素的列表。所以,[]是一个空列表,但[(),[]]不是一个空列表,因为它包含两个元素:一个空的元组和一个空的列表。因此,题目中的说法“列表中可以放多个不同类型的元素”是不准确的,所以答案是B,即错误。
29、dic_1 = {'键值1': '苹果', '键值2': '葡萄', '键值3': [11, 22, 33]}dic_1['键值4'] = '西瓜'print(dic_1)上述代码的功能是:在字典dic_1中添加一个键值对,'键值4': '西瓜',输出添加后的字典,其值是:{'键值1': '苹果', '键值2': '葡萄', '键值3': [11, 22, 33],'键值4':'西瓜'} ( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:根据题目中的代码,首先定义了一个字典`dic_1`,其包含三个键值对。然后,使用`dic_1['键值4'] = '西瓜'`语句在字典`dic_1`中添加了一个键值对`'键值4': '西瓜'`。最后,使用`print(dic_1)`语句输出了添加后的字典。所以,输出应该为`{'键值1': '苹果', '键值2': '葡萄', '键值3': [11, 22, 33], '键值4': '西瓜'}`,与题目中给出的输出一致。因此,题目的描述是正确的。
30、for i in range(5): print(i)上述代码的运行结果是( )12345
A 正确
B 错误
解析:【喵呜刷题小喵解析】:根据给出的代码,我们可以看到它正在遍历一个范围从0到4的序列,并用`print(i)`来打印每一个数字。所以,这段代码会打印出0、1、2、3、4这五个数字,而不是1、2、3、4、5。因此,题目中的说法是错误的,答案应该选择B。
31、s="Python";for i in s: print(i);上面这个程序段,运行后输出的结果是: Python。( )(注意:是横排的Python)
A 正确
B 错误
解析:【喵呜刷题小喵解析】:给出的程序段中存在语法错误。程序中的 `for i in s:` 这一行应该是用来遍历字符串 `s` 的每个字符,但在遍历后并没有指定 `i` 应该执行的操作。而在 `for` 循环后直接跟了一个 `print(i);`,这会导致语法错误。正确的代码应该类似于 `for i in s: print(i)`,这样才会输出字符串 `s` 的每个字符。因此,运行后输出的结果并不是 "Python",而是会抛出语法错误。所以,题目的判断是正确的。
32、input() 语句输入的内容,一定是字符串类型的。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Python中,`input()`函数用于从标准输入读取一行文本,并返回文本作为字符串。因此,`input()`语句输入的内容一定是字符串类型的,所以题目的说法是正确的。
33、下列程序在运行过程中,变量 i 的值不可能是5。( )for i in range(5): print(i)
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Python中,`for i in range(5):` 会遍历0到4的整数,因此变量i的值会依次取0,1,2,3,4。所以,变量i的值不可能是5。因此,题目中的说法是正确的。
34、'abc' - 'a' 的结果是 'bc'。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Python中,'abc' - 'a' 的结果并不是 'bc',而是 'abc'[1:],即 'bc'。在Python中,这种操作被称为字符串切片,而不是减法。因此,题目中的说法是不准确的,答案为B。
35、if、elif和else后面均应写明条件以便判断True或False。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Python语言中,`if`、`elif`和`else`语句用于条件判断。其中,`if`和`elif`后面确实需要跟随条件表达式,以便根据条件表达式的值为True或False来决定执行相应的代码块。然而,`else`语句并不需要一个条件表达式,它通常用于在前面的所有`if`和`elif`条件都不满足时执行相应的代码块。因此,题目中的说法“if、elif和else后面均应写明条件以便判断True或False”是不准确的,因为`else`语句后面并不需要条件表达式。所以,答案选B。
三、编程题
36、最小公倍数
最小公倍数是指两个或多个整数公有的倍数中,最小的那个数。例如,2 和 3 的公倍数有 6、12、18 等等,其中最小的是 6,因此 6 就是 2 和 3 的最小公倍数。
最小公倍数在数学中有广泛的应用,例如在分数的化简、约分、比较大小等问题中都需要用到最小公倍数。
请你编写一个程序,程序可以输入两个正整数,输出它们的最小公倍数。
样例输入:
请输入第一个正整数:
6
请输入第二个正整数:
8
样例输出:
24
友情提示:
由于考试平台暂不支持eval()命令,同学们可以选用其他命令;当然如果您使用了,只要程序是正确的,我们阅卷时依然按照正常处理。
参考答案:
参考程序1: a = int(input(“请输入第一个正整数:”)) b = int(input(“请输入第二个正整数:”))
穷举法求最小公倍数
lcm = max(a, b) while True: if lcm % a == 0 and lcm % b == 0: break lcm += 1 print(lcm) 参考程序2: a = int(input(“请输入第一个正整数:”)) b = int(input(“请输入第二个正整数:”))
求最大公约数
m = a n = b while n != 0: r = m % n m = n n = r
求最小公倍数
lcm = a * b // m print(lcm)
解析:【喵呜刷题小喵解析】:本题要求编写一个程序,输入两个正整数,输出它们的最小公倍数。最小公倍数的求法有多种,其中一种常用的方法是先求出两个数的最大公约数,然后用两数之积除以最大公约数得到最小公倍数。参考程序中给出了两种求最小公倍数的方法,一种是穷举法,另一种是求最大公约数法。由于穷举法效率较低,因此本题采用求最大公约数法。在求最大公约数时,采用了欧几里得算法,该算法的基本思想是:用较大的数除以较小的数,再用出现的余数去除较小的数,如此反复,直到余数为零为止,此时较小的数即为两数的最大公约数。在得到最大公约数后,利用公式`lcm(a, b) = a * b / gcd(a, b)`求出最小公倍数。最后输出结果。
37、中国电子学会主办的"全国青少年信息素养大赛"总决赛要开始了,组委会的老师要统计各个赛项报名的人数。请帮着写一个程序,实现该功能:统计时,输入各项编号表示对应的比赛:
1:Python编程挑战赛
2:开源鸿蒙主题赛
3:智慧物流挑战赛
0:表示录入完毕
要求:
一、循环执行
二、当输入错误数据,可以提示"没有此编号请重复输入";
三、当输入0后,自动统计所有项目的参赛人数,并输出出来;如下面的案例:
输入样例:
请输入赛项编号:
1
请输入赛项编号:
2
请输入赛项编号:
3
请输入赛项编号:
2
请输入赛项编号:
1
请输入赛项编号:
1
请输入赛项编号:
0
输出样例:
Python编程挑战赛:3人
开源鸿蒙主题赛:2人
智慧物流挑战赛:1人
友情提示:
由于考试平台暂不支持eval()命令,同学们可以选用其他命令;当然如果您使用了,只要程序是正确的,我们阅卷时依然按照正常处理。
参考答案:
参考程序1: d={‘Python编程挑战赛’:0,‘开源鸿蒙主题赛’:0,‘智慧物流挑战赛’:0} while True: num=input(‘请输入赛项编号:’) if num==‘1’: d[‘Python编程挑战赛’]+=1 elif num==‘2’: d[‘开源鸿蒙主题赛’]+=1 elif num==‘3’: d[‘智慧物流挑战赛’]+=1 elif num==‘0’: break else: print(‘没有此编号请重新输入’) continue print(‘统计结果如下:’) for i in d: print(i+‘:’+str(d[i])+‘人’)
参考程序2: sum1=0 #Python编程挑战赛 sum2=0 #开源鸿蒙主题赛 sum3=0 #智慧物流挑战赛 while True: num=input(‘请输入赛项编号:’) if num==‘1’: sum1+=1 elif num==‘2’: sum2+=1 elif num==‘3’: sum3+=1 elif num==‘0’: break else: print(‘没有此编号请重新输入’) continue print(‘统计结果如下:’) print(‘Python编程挑战赛:’+str(sum1)) print(‘开源鸿蒙主题赛:’+str(sum2)) print(‘智慧物流挑战赛:’+str(sum3))
解析:【喵呜刷题小喵解析】:本题要求编写一个程序,用于统计各个比赛项目的参赛人数。程序需要循环执行,直到输入0为止。在输入时,根据输入的编号判断对应的比赛项目,并增加相应的人数。当输入0时,程序自动统计所有项目的参赛人数,并输出出来。参考程序1中,使用字典d来存储每个比赛项目的人数,字典的键为比赛项目的名称,值为对应的人数。程序使用while True循环来不断接收用户输入,根据输入的编号判断对应的比赛项目,并增加相应的人数。当输入0时,程序跳出循环,并输出统计结果。参考程序2中,使用三个变量sum1、sum2、sum3来分别存储Python编程挑战赛、开源鸿蒙主题赛、智慧物流挑战赛的人数。程序同样使用while True循环来不断接收用户输入,根据输入的编号判断对应的比赛项目,并增加相应的人数。当输入0时,程序跳出循环,并输出统计结果。两种参考程序都能够满足题目的要求,根据用户输入的编号统计参赛人数,并在输入0后输出统计结果。参考程序1使用了字典来存储人数,方便查询和遍历;参考程序2使用了三个变量来分别存储人数,简单明了。两种方式都可以实现题目要求的功能,可以根据个人喜好和实际情况选择使用。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!