题:以下关于列表和元组的说法正确的是:(多选题)
答案:ABC
ABC选项都是正确的,列表和元组的形态非常相似,一个是中括号[],一个是圆括号()。所以,AB选项正确。
我们在输入括号的时候,记得一定要切换到英文状态下输入,否则运行会报错唷[奸笑]。
CD选项,列表是“可变”的,元组是“不可变”的,这个问题同学们需要注意一下。列表在创建完成后,我们还可以增添元素,或对里面的元素进行修改;但是,元组创建完,就是定型了,不可增添元素,元素也不能再进行元素的修改,因此,D选项是错误的。
E选项,列表和元组的索引值都是0开始,所以,提取元组b中的椰子鸡,椰子鸡是在第2个位置,因为索引从0开始,所以,对应索引值应该是1,修改为b[1]。
题:以下说法正确的是:
答案:C
A选项,a+b 是指列表a和列表b合并两个列表,得到的结果为['今晚我想吃', '酸菜鱼', '椰子鸡', '海底捞'],合并列表后得到的数据类型还是列表形式哈,也没有实现效果。
B选项,运行报错,b为列表形式,a[0] a[1] a[2] 分别把a列表中的元素单独提取出来,得到的字符类型,注意:数据类型不同,不能直接用 + 加号拼接。
C选项,运行正确。先用b[0]把b列表中的 '今晚我想吃' 元素提取出来,再单独提取 a列表中的元素拼接起来,就可以得到我们要实现的效果啦。
题:下列数据计算结果正确的是:
答案:D
A选项,*是乘法、/是除法、+是加法、-是减法,按照先乘除后加减的运算方式可以得出结果应为4;
B选项,list_1是一个列表,可以通过索引得到列表里面的元素,list_1[4]取得的是8,list_1[1]取得的是2,8*2-6得到的结果应为10;
C选项,list_2列表中有4个元素,分别是字符串'1'、字符串"2, 3"、数字5、数字8,list_2[0]取得的是字符串'1',list_2[3]取得的是数字8,字符串无法与数字相加减,因此会报错;
D选项,list_3列表和list_2一样有4个元素,list_3[2]取得的是数字5,list_3[3]取得的是数字8,5+8+5得到的结果是18,因此D选项正确。
题:以下关于 7,'7' ,'7.0'以及打印其 print(type()) 数据类型的说法正确的是:(多选题)
答案:BDE
这里主要是考察同学们对数据类型掌握的情况[机智],要注意区分好字符类型,整数类型和浮点类型哈。我们在使用type()函数来查看数据类型的时候,要记得 int 代表整数; float 代表浮点数; str 代表字符类型哈。
相信大家对于数据类型都没有太大的问题[奋斗]
题:考考大家第2关的学习成果,看看转换数据掌握得怎么样[奸笑]
答案:C
这里我们要注意一个问题哈,number = '168.68' ,number的数据类型本身是字符类型,但是,168.68 其实可以说是一个浮点数的字符类型,所以,我们转换为整数类型的时候,需要先把 数据转换为浮点类型,再进一步转换为整数,不能直接强制转换为int类型,否则运行会出现报错哈
题:请补充以下代码,实现打印效果为“深圳今天的天气是多云”
答案:CD
这里主要是希望同学们要记住print语句中的拼接和format的格式用法,大家要注意一下唷
题:考考大家的debug能力[奸笑] ,快来找错题,这里有多少处错误,并且修改正确的答案呢
答:
总共有4处错误:
(1)第1和第3处错误为同类型错误,age是input语句输入的内容,input语句的内容均为字符类型,所以,第5行和第8行进行数据比较,18位整数,不同类型的数据进行比较会进行报错。所以,应该将age转换为int类型,把第3行的代码修改为 age = int(input('请输入你的年龄')) 或者,直接在age加上int(),int(age)。
(2)第5行代码,用了一个等号=,代表的是赋值,而在这里我们需要判断age和18是否相等,相等在Python中,应该用两个等号==。
(3)第8行代码出错误,大家一定要记得if ... elif ...else语句后面加上冒号。
(4)第11行的else语句出错,else语句后面是不需要加上条件,大家要多留意
if ... elif ...else语句的固定,和使用格式哈。
题:请看以下代码,根据代码,选出正确的运行结果选项(多选题)
答案:ACD
选项A,输入643,第1位是6,满足 int(number[0]) > 5 的条件,所以,执行print语句,打印离幸运数字进一步了!🤩 ;第2位是4,不满足 int(number[1]) < 4 的条件,所以,不执行后面的语句,到这里截止运行。所以,A选项正确✅。
选项B,输入833,第1位是8,满足 int(number[0]) > 5 的条件,所以,执行print语句,打印离幸运数字进一步了!🤩 ;第2位是3,满足 int(number[1]) < 4 的条件,所以,执行后面的语句,打印越来越靠近了!🤩 ,第3位是3,不满足 int(number[2]) > 3 的条件,所以,不执行后面的语句,到这里截止运行。所以,B选项缺少了第2句打印的内容。
选项C,输入467,第1位是4,不满足 int(number[0]) > 5 的条件,所以,不执行后面的语句,直接执行最后的else语句,打印 中奖绝缘体‼🙈 到这里截止运行。所以,C选项缺正确✅。
选项D,输入725,第1位是7,满足 int(number[0]) > 5 的条件,所以,执行print语句,打印离幸运数字进一步了!🤩 ;第2位是2,满足 int(number[1]) < 4 的条件,所以,执行后面的语句,打印越来越靠近了!🤩 ,第3位是5,满足 int(number[2]) > 3 的条件,所以,执行后面的语句,打印 恭喜你,你就是这一位幸运儿!🤩 到这里截止运行。所以,D选项正确✅。
题:请看以下代码,根据代码,选出正确的运行结果选项:
答案:A
题目考查多向判断,按顺序执行,满足一个条件后,不会再执行后面的判断;
a=30,if条件判断为真,a会被重新赋值为20,这时后续的elif和else条件就会被略过,所以最后输出结果为 a=20, b=1。
题:请看一下代码,并选出正确答案。
正确答案是:CD
考察知识点:切片的知识点(记住左取右不取)
我们先来查看一下运行的结果:
接下来,我们从A选项来重新梳理一下问题。
A、提取列表food中的'酸奶蜜桃金奇🥝',代码是:food[2]
A选项,要求提取列表中的 酸奶蜜桃金奇🥝 ,也就是我们熟悉的提取列表中的元素, 酸奶蜜桃金奇,在列表中的第2个位置,但是,我们要注意,索引从0开始,所以,酸奶蜜桃金奇 应该是对应索引 1,所以,应该为 food[1]。
B、C选项,是同一个问题,要求提取 ['酸奶蜜桃金奇🥝','神奇苦瓜🥒冰'] ,也就是提取后面的两个元素,并且是列表的形式,这就需要用到切片的知识点。切片的提取,要记得“左取右不取”的规则,B选项,food[1:2]指提取索引值为1 到 2的内容,但是,要注意2是右边不取,所以,提取到的是 ['酸奶蜜桃金奇🥝'] ,不满足要求。
再来看一下C选项,food[1:] 指提取索引值为1 一直到最右边的内容,所以,可以提取到 ['酸奶蜜桃金奇🥝','神奇苦瓜🥒冰'] ,C选项正确。
D、提取列表food中的['酸奶蜜桃🍑草莓冰'],代码是:food[0:1]
D选项,要求提取 ['酸奶蜜桃🍑草莓冰'] ,也就是第1个元素,并且是列表的形式,第1个元素对应的索引值是 0,根据“左取右不取”,food[0:1]提取到 ['酸奶蜜桃🍑草莓冰']。
题:请为以下列表添加元素 '冰凉凉粉',正确的代码是:
答案:C
A、foods = foods.append('冰凉凉粉')
A、D选项,先对foods列表进行了元素的添加,再重新赋值给foods变量,运行后,返回的结果是none,为空值,大家在平时的书写代码的过程中,记得,不用进行赋值的操作。因为append()是没有返回值的,所以,直接进行赋值的操作是无意义的,关于返回值的内容,我们在后面的第7关的学习也将会学习到,这里就先和同学们预告一下[机智]
B、foods.append(['冰凉凉粉'])
B选项,直接添加['冰凉凉粉'],也就是把列表当做一个元素添加到foods列表中,所以,运行结果是 ['虾饺', '龟苓膏', '薄荷冰粉', '草莓圣代', ['冰凉凉粉']],这里大家要注意一下哈
C选项,是正确的添加操作,直接在括号中补充需要添加上的内容。
题:请根据以下代码,选出正确答案:
答案:BD
A、B选项,要求提取元组中的元素 虾饺 ,元组和列表一样,
提取元素的格式都是:元组/列表名[索引值],都是用中括号,大家要注意唷
C、D选项,这里大家一定注意啦。
元组里如果只有一个元素,后面也要加逗号,如 a = ('xyz',) , 如果不加逗号的话,那它就不会被判定成元组哈。所以,应该是D选项正确。
题:请看以下代码,选出代码的运行结果。(单选)
正确答案:A
**要注意一下continue的执行用法,当程序来到continue语句,会结束当次循环,再重新进入下一次循环。
首先,a的初始值为0,程序来到for循环后,执行语句 a = a + 1,a的值增加为1;
接着,程序来到了第6行的if语句,判断a的值和2是否相等,1和2不相等,所以,不执行if语句的内容,直接执行后面的print语句,打印a,值为1;
来到第2次循环,a的值增加为2,因为2和2相等,执行continue语句,直接结束当前的循序,跳过后面的print语句,来到第3次的循环,所以,当a=2时,print语句没有执行;
同理,当a=3,判断是否相等,3和2不相等,所以,不执行后件的continue语句,直接打印a的值,值为3;
题:请看以下的代码,选出正确的运行结果。
正确答案:C
考察知识点:for循环的嵌套问题。
for循环的嵌套,我们在后面的学习过程中,也会遇到比较多,继续把知识点巩固起来💪
我也和大家重新梳理一下,for循环的嵌套问题。
pen_bag、computer_bag、bag_list都是列表的形式,其中,bag_list是一个嵌套列表,bag_list中的元素是pen_bag、computer_bag这两个列表的内容。
首先,程序来到第1个for循环,遍历bag_list ==> 取出bag_list列表中的元素;
第1次循环,先提取出bag_list列表中的第1个元素 pen_bag,pen_bag是一个列表,所以,打印的是列表的内容 ['笔', '尺子', '涂改液'] ;
接着,来到第2个for语句,
循环遍历bag,这里bag的内容是 ['笔', '尺子', '涂改液'],通过循环一一提取出里面的元素,分别是:
接着,进入到第2次循环,再次遍历bag_list ==> 取出computer_bag列表中的元素;
同理,和第1次循环的思路一样唷
这里大家也需要注意一个问题,在for循环嵌套的执行过程中,进入第一个大的循环后,再来到内循环,内循环循环结束后,才会再回到外层的大的循环,重新进入第2次循环哈。
题:请看以下的代码,选出正确的运行结果。
正确答案:A
本题考察的知识点有:for循环语法、if条件判断、range()。
首先整体看一下代码,代码主要是由for循环+if判断+列表索引取值组成。
通过for i in range(0, 4)将0至3的数字依次赋值给i变量,然后每次循环时先判断i的值是否不等于1,是的话就打印列表里对应数字索引的值,接着判断i除以2是否等于1,是的话就打印列表里对应数字索引的值,最后当循环结束时,打印列表里对应数字索引的值。
这里需要注意三个点:
1.range(0, 4)得到的数字范围是0至3,而'鼠标'是列表里索引为4的值,后续打印时是显示不了'鼠标'的,因此CD选项错误;
2.两个if条件判断都属于单分支条件判断,判断完第一个if后还会继续判断第2个if。当i为2时,if i != 1条件判断通过,打印'涂改液',接着if i / 2 == 1条件判断也通过,也会打印'涂改液',因此A选项正确,B选项错误;
3.for循环的本质是将可迭代对象里的值一个一个赋值给一个变量,所以当for循环结束时,i变量里还是会存有最后一个被赋予的值,即是当循环结束时i变量的值为3,bag_list[3]为'电脑'。
题:以下关于字典的描述正确的是(多选题)
正确答案:BD
考察知识点:主要考考大家对于字典知识概念掌握的情况。
A选项,字典是用 {花括号} 包裹起来的,所以,应该是用花括号{ },而不是用圆括号()。
B选项正确,字典dict用{花括号} 包裹起来,共有3对键值对。
C选项,字典的值可以是任意的数据类型,但是,我们平时也需要特别注意,字典的键只能是不可变的数据类型,列表是可变的数据类型,所以,在这里定义的字典dict会报错。
D选项,字典的键是元组,元组为不可变类型,值是列表,为可变数据类型,符合字典的特点,定义规则,所以,D选项正确。
题:请根据以下代码,选出字典操作相应的代码:
答案:BDF
考察知识点:回顾字典相关操作知识点及用法。
A选项,第(1)题要求实现的效果是 #依次提取foods中的键 ,需要提取的是字典的键,所以,我们要注意,如果是直接提取键,用for循环遍历的时候,循环变量代表的是字典的键,所以,A选项的 foods[i] 是提取值哈
我们可以查看一下运行结果:
C选项,第(2)题要求实现 #把foods中的 '饮料':'橙汁🍊' 删除 需要把字典中第2个键值对删除,在字典的删除操作中,我们用到del来实现效果。删除格式:del 字典名[键] 所以,在括号中,我们应该填写字典的键,而不是字典的值,所以,C选项出错。
G选项,第(3)题要求实现 #在foods中,添加新的内容,'特色菜'和'拔丝地瓜🍠' ,需要添加新的键值对,格式:字典名[新键] = 新值 ,所以,在中括号中应该填写字典的键,G选项刚好相反,所以,G选项出错。
题:直接上代码[机智],根据代码要求,请选择选项补充完整代码。
正确答案:BC
1、先来看第(1)题,要求定义一个变量sum,目的是计算三科成绩的总和,假如,我们选择A选项,sum = 1,接着,来看到第(2)题,需要计算成绩总和,首先,我们需要取出字典scores中的值,也就是三科的成绩;在for循环中,每循环一次取出一科成绩。
循环变量i 直接遍历提取字典的键,我们要提取字典的值,还需要通过 字典名[键] 提取,也就是 scores[i] ,所以,D选项错误,i提取的是键,是科目。
接着,我们再看回 sum的初始值,sum = 1,那在进入for循环开始计算总分,要开始就是 1+89,给总分增加了1,所以,得出的总分会比实际总分 多 1分,因此,sum的初始值为0.。
2、再和同学们讲解一下 sum = sum + scores[i] ,这个是数学中的累加计算,最终得出总分
经过累加得到总分,同学们要记得这个用法唷,在之后的学习中,我们也经常会用到累加,来进行计算[机智]
联系客服