打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
基础语法1

第1关

【第1题】

题:以下关于列表和元组的说法正确的是:(多选题)

A、a = ['酸菜鱼','椰子鸡','海底捞']是列表

B、b = ('酸菜鱼','椰子鸡','海底捞')是元组

C、为a添加元素'麻辣烫',代码为 a.append('麻辣烫')

D、为b添加元素'麻辣烫',代码为 b.append('麻辣烫')

E、提取元组b中的 '椰子鸡',代码为 b[2]

答案:ABC

ABC选项都是正确的,列表和元组的形态非常相似,一个是中括号[],一个是圆括号()。所以,AB选项正确。

我们在输入括号的时候,记得一定要切换到英文状态下输入,否则运行会报错唷[奸笑]。

CD选项,列表是“可变”的,元组是“不可变”的,这个问题同学们需要注意一下。列表在创建完成后,我们还可以增添元素,或对里面的元素进行修改;但是,元组创建完,就是定型了,不可增添元素,元素也不能再进行元素的修改,因此,D选项是错误的。

E选项,列表和元组的索引值都是0开始,所以,提取元组b中的椰子鸡,椰子鸡是在第2个位置,因为索引从0开始,所以,对应索引值应该是1,修改为b[1]。

【第2题】

题:以下说法正确的是:

代码:

a = ['酸菜鱼','椰子鸡','海底捞']
b = ['今晚我想吃']

实现效果:打印 "今晚我想吃酸菜鱼 今晚我想吃椰子鸡 今晚我想吃海底捞"" 这一句话
以下正确的代码是:

A、c = b+a
print(c)

B、c1 = b+a[0]
c2 = b+a[1]
c3 = b+a[2]
print(c1+c2+c3)

C、c1 = b[0]+a[0]
c2 = b[0]+a[1]
c3 = b[0]+a[2]
print(c1+c2+c3)

答案:C

A选项,a+b 是指列表a和列表b合并两个列表,得到的结果为['今晚我想吃', '酸菜鱼', '椰子鸡', '海底捞'],合并列表后得到的数据类型还是列表形式哈,也没有实现效果。

B选项,运行报错,b为列表形式,a[0] a[1] a[2] 分别把a列表中的元素单独提取出来,得到的字符类型,注意:数据类型不同,不能直接用 + 加号拼接。

C选项,运行正确。先用b[0]把b列表中的 '今晚我想吃' 元素提取出来,再单独提取 a列表中的元素拼接起来,就可以得到我们要实现的效果啦。





【第3题】

题:下列数据计算结果正确的是:

A、
a = 4 * 5 + 4 / 2 - 9 * 2
print(a)
打印显示的结果是:2

B、
list_1 = [1, 2, 3, 5, 8]
b = list_1[4] * list_1[1] - 6
print(b)
打印显示的结果是:-1

C、
list_2 = ['1', "2, 3", 5, 8]
c = list_2[0] + list_2[3] + 4
print(c)
打印显示的结果是:13

D、
list_3 = ['1', "2, 3", 5, 8]
d = list_3[2] + list_3[3] + 5
print(d)
打印显示的结果是:18

答案: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选项正确。

第2关

【第1题】

题:以下关于 7,'7' ,'7.0'以及打印其 print(type()) 数据类型的说法正确的是:(多选题)

A、7,整数类型数据,<class 'float'>

B、'7.0',字符类型数据,<class 'str'>

C、'7.0',浮点型数据,<class 'float'>

D、'7',字符类型数据,<class 'str'>

E、7,整数类型数据,<class 'int'>

F、'7',字符类型数据,<class 'string'>

答案:BDE

这里主要是考察同学们对数据类型掌握的情况[机智],要注意区分好字符类型,整数类型和浮点类型哈。我们在使用type()函数来查看数据类型的时候,要记得 int 代表整数; float 代表浮点数; str 代表字符类型哈。

相信大家对于数据类型都没有太大的问题[奋斗]

【第2题】

题:考考大家第2关的学习成果,看看转换数据掌握得怎么样[奸笑]

请看以下代码:

number = '168.68'
#补充第2行代码,把number转换为int类型
a = ————————
print(a)

A、int(number)

B、float(int(number))

C、int(float(number))

D、int(str(number))

答案:C

这里我们要注意一个问题哈,number = '168.68' ,number的数据类型本身是字符类型,但是,168.68 其实可以说是一个浮点数的字符类型,所以,我们转换为整数类型的时候,需要先把 数据转换为浮点类型,再进一步转换为整数,不能直接强制转换为int类型,否则运行会出现报错哈





【第3题】

题:请补充以下代码,实现打印效果为“深圳今天的天气是多云”

a = '深圳'
b = '多云'

A、print(a+今天的天气是+b)

B、print('今天的天气是{}'.format(a,b))

C、print('{}今天的天气是{}'.format(a,b))

D、print(a+'今天的天气是'+b)

答案:CD

这里主要是希望同学们要记住print语句中的拼接和format的格式用法,大家要注意一下唷

第3关

【第1题】

题:考考大家的debug能力[奸笑] ,快来找错题,这里有多少处错误,并且修改正确的答案呢

请看以下代码:

age = input('请输入你的年龄')
if age = 18:
print('阳光活泼,青春时代🤩')
elif age < 18
print('活力满满,年少时🥳')
else age > 18:
print('阳光活力,光芒四射😎')





答:





总共有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语句的固定,和使用格式哈。

【第2题】

题:请看以下代码,根据代码,选出正确的运行结果选项(多选题)





#幸运大抽奖活动

number = input('请输入你的手机尾号后3位数:')

# number[0] number[1] number[2] 分别取出3位数的第1位,第2位,第3位

if int(number[0]) > 5:
    print('离幸运数字进一步了!🤩')
    if int(number[1]) < 4:
        print('越来越靠近了!🤩')
        if int(number[2]) > 3:
            print('恭喜你,你就是这一位幸运儿!🤩')

else :
  print('中奖绝缘体‼🙈')


A、输入643,运行结果为:离幸运数字进一步了!🤩

B、输入833,运行结果为:离幸运数字进一步了!🤩
C、输入467,运行结果为:中奖绝缘体‼🙈

D、输入725,运行结果为:离幸运数字进一步了!🤩
越来越靠近了!🤩
恭喜你,你就是这一位幸运儿!🤩

答案: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选项正确✅。

【第3题】

题:请看以下代码,根据代码,选出正确的运行结果选项:

a = 30
b = 1
if a >= 10:
    a = 20
elif a >= 20:
    a = 30
elif a >= 30:
    b = a
else:
    b = 0
print('a={}, b={}'.format(a, b))

A、a=20, b=1
B、a=30, b=1
C、a=20, b=0
D、a=30, b=0

答案:A

题目考查多向判断,按顺序执行,满足一个条件后,不会再执行后面的判断;

a=30,if条件判断为真,a会被重新赋值为20,这时后续的elif和else条件就会被略过,所以最后输出结果为 a=20, b=1。

第4关

【第1题】

题:请看一下代码,并选出正确答案。

代码:

food = ['酸奶蜜桃🍑草莓冰','酸奶蜜桃金奇🥝','神奇苦瓜🥒冰']

A、提取列表food中的'酸奶蜜桃金奇🥝',代码是:food[2]

B、提取列表food中的['酸奶蜜桃金奇🥝','神奇苦瓜🥒冰'],代码是:food[1:2]

C、提取列表food中的['酸奶蜜桃金奇🥝','神奇苦瓜🥒冰'],代码是:food[1:]

D、提取列表food中的['酸奶蜜桃🍑草莓冰'],代码是:food[0: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]提取到 ['酸奶蜜桃🍑草莓冰']。

【第2题】

题:请为以下列表添加元素 '冰凉凉粉',正确的代码是:

代码为:

foods = ['虾饺', '龟苓膏', '薄荷冰粉', '草莓圣代']

A、foods = foods.append('冰凉凉粉')

B、foods.append(['冰凉凉粉'])

C、foods.append('冰凉凉粉')

D、foods = foods.append(['冰凉凉粉'])

答案:C

A、foods = foods.append('冰凉凉粉')

A、D选项,先对foods列表进行了元素的添加,再重新赋值给foods变量,运行后,返回的结果是none,为空值,大家在平时的书写代码的过程中,记得,不用进行赋值的操作。因为append()是没有返回值的,所以,直接进行赋值的操作是无意义的,关于返回值的内容,我们在后面的第7关的学习也将会学习到,这里就先和同学们预告一下[机智]

B、foods.append(['冰凉凉粉'])

B选项,直接添加['冰凉凉粉'],也就是把列表当做一个元素添加到foods列表中,所以,运行结果是 ['虾饺', '龟苓膏', '薄荷冰粉', '草莓圣代', ['冰凉凉粉']],这里大家要注意一下哈

C选项,是正确的添加操作,直接在括号中补充需要添加上的内容。

【第3题】

题:请根据以下代码,选出正确答案:

foods = ('虾饺', '龟苓膏', '薄荷冰粉', '草莓圣代')

A、提取出foods中的 虾饺 ,代码是 foods(0)

B、提取出foods中的 虾饺 ,代码是 foods[0]

C、提取出foods中的 元组('虾饺'),运行结果是('虾饺')

D、提取出foods中的 元组('虾饺'),运行结果是('虾饺',)

答案:BD

A、B选项,要求提取元组中的元素 虾饺 ,元组和列表一样,

提取元素的格式都是:元组/列表名[索引值],都是用中括号,大家要注意唷

C、D选项,这里大家一定注意啦。

元组里如果只有一个元素,后面也要加逗号,如 a = ('xyz',) , 如果不加逗号的话,那它就不会被判定成元组哈。所以,应该是D选项正确。

第5关

【第1题】

题:请看以下代码,选出代码的运行结果。(单选)

代码:
a = 0
list = ['蛋糕','酸奶','奶茶']
for i in list:
a = a + 1
if a == 2:
continue
print(a)

A、1和3

B、0和2

C、2和3

D、3

正确答案: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;

【第2题】

题:请看以下的代码,选出正确的运行结果。

代码:

pen_bag = ['笔', '尺子', '涂改液']
computer_bag = ['电脑', '鼠标']
bag_list = [pen_bag, computer_bag]

for bag in bag_list:
print(bag)
for item in bag:
print(item)

A、pen_bag
尺子
涂改液
computer_bag
电脑

B、 pen_bag
['笔', '尺子', '涂改液']
computer_bag
['电脑', '鼠标']
C、['笔', '尺子', '涂改液']
尺子
涂改液
['电脑', '鼠标']
电脑
鼠标

正确答案:C

考察知识点:for循环的嵌套问题。

for循环的嵌套,我们在后面的学习过程中,也会遇到比较多,继续把知识点巩固起来💪

我也和大家重新梳理一下,for循环的嵌套问题。

pen_bag、computer_bag、bag_list都是列表的形式,其中,bag_list是一个嵌套列表,bag_list中的元素是pen_bag、computer_bag这两个列表的内容。

for bag in bag_list:
print(bag)

首先,程序来到第1个for循环,遍历bag_list ==> 取出bag_list列表中的元素;

第1次循环,先提取出bag_list列表中的第1个元素 pen_bag,pen_bag是一个列表,所以,打印的是列表的内容 ['笔', '尺子', '涂改液'] ;

接着,来到第2个for语句,

for item in bag:
print(item)

循环遍历bag,这里bag的内容是 ['笔', '尺子', '涂改液'],通过循环一一提取出里面的元素,分别是:

尺子
涂改液

接着,进入到第2次循环,再次遍历bag_list ==> 取出computer_bag列表中的元素;

同理,和第1次循环的思路一样唷

这里大家也需要注意一个问题,在for循环嵌套的执行过程中,进入第一个大的循环后,再来到内循环,内循环循环结束后,才会再回到外层的大的循环,重新进入第2次循环哈。

【第3题】

题:请看以下的代码,选出正确的运行结果。

bag_list = ['笔', '尺子', '涂改液','电脑', '鼠标']

for i in range(0, 4):
    if i != 1:
        print(bag_list[i])
    if  i / 2 == 1:
        print(bag_list[i])
print(bag_list[i])


A、
涂改液
涂改液
电脑
电脑

B、
涂改液
电脑
电脑

C、
涂改液
电脑
鼠标
鼠标

D、
涂改液
涂改液
电脑
鼠标
鼠标

正确答案: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]为'电脑'。

第6关

【第1题】

题:以下关于字典的描述正确的是(多选题)

A、字典 dict = ('语文':'89','数学':'92','英语':'95') 中有3对键值对

B、字典 dict = {'语文':'89','数学':'92','英语':'95'} 中有3对键值对

C、字典 dict = {['语文','数学','英语']:['89','92','95']} 中有1对键值对

D、字典 dict = {('语文','数学','英语'):['89','92','95']} 中有1对键值对

正确答案:BD

考察知识点:主要考考大家对于字典知识概念掌握的情况。

A选项,字典是用 {花括号} 包裹起来的,所以,应该是用花括号{ },而不是用圆括号()。

B选项正确,字典dict用{花括号} 包裹起来,共有3对键值对。

C选项,字典的值可以是任意的数据类型,但是,我们平时也需要特别注意,字典的键只能是不可变的数据类型,列表是可变的数据类型,所以,在这里定义的字典dict会报错。

D选项,字典的键是元组,元组为不可变类型,值是列表,为可变数据类型,符合字典的特点,定义规则,所以,D选项正确。

【第2题】

题:请根据以下代码,选出字典操作相应的代码:

#定义字典foods
foods = {'甜品':'清补凉','饮料':'橙汁🍊','主食':'大面条'}
#依次提取foods中的键
(1)————————————————

#把foods中的 '饮料':'橙汁🍊' 删除
(2)—————————————————

#在foods中,添加新的内容,'特色菜'和'拔丝地瓜🍠'
(3)——————————————————

A、for i in foods:
print(foods[i])

B、for i in foods:
print(i)

C、del foods['橙汁🍊']

D、del foods['饮料']

F、foods['特色菜']= '拔丝地瓜🍠'

G、foods['拔丝地瓜🍠']= '特色菜'

答案:BDF

考察知识点:回顾字典相关操作知识点及用法。

A选项,第(1)题要求实现的效果是 #依次提取foods中的键 ,需要提取的是字典的键,所以,我们要注意,如果是直接提取键,用for循环遍历的时候,循环变量代表的是字典的键,所以,A选项的 foods[i] 是提取值哈

我们可以查看一下运行结果:





C选项,第(2)题要求实现 #把foods中的 '饮料':'橙汁🍊' 删除 需要把字典中第2个键值对删除,在字典的删除操作中,我们用到del来实现效果。删除格式:del 字典名[键] 所以,在括号中,我们应该填写字典的键,而不是字典的值,所以,C选项出错。

G选项,第(3)题要求实现 #在foods中,添加新的内容,'特色菜'和'拔丝地瓜🍠' ,需要添加新的键值对,格式:字典名[新键] = 新值 ,所以,在中括号中应该填写字典的键,G选项刚好相反,所以,G选项出错。

【第3题】

题:直接上代码[机智],根据代码要求,请选择选项补充完整代码。

#定义字典scores
scores = {'语文':89,'数学':92,'英语':95}

#计算 语数英 三科的总成绩
#定义sum初始值,用来计算成绩总和
(1)————————————————

for i in scores:
#计算成绩总和
(2)sum = ————————————
print('语数英三科的总成绩是{}'.format(sum))

A、sum = 1

B、sum = 0

C、sum + scores[i]

D、sum + i

正确答案: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] ,这个是数学中的累加计算,最终得出总分

  • 在进入第1次循环:sum = 0,首先,提取语文的成绩:89,所以,sum = 0+89;
  • 在进入第2次循环:经过第1次循环,sum的值为 sum = 0+89,紧接,提取数学的成绩:92,所以,sum = 0+89+92;
  • 在进入第3次循环:经过第2次循环,sum的值为 sum = 0+89+92,紧接,提取英语的成绩:95,所以,sum = 0+89+92+95;

经过累加得到总分,同学们要记得这个用法唷,在之后的学习中,我们也经常会用到累加,来进行计算[机智]

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
循环作业
Python入门教程,30分钟玩转Python编程!
Python基础语法14个知识点大串讲
基础语法知识合集
Python 程序设计(第二版)董付国
Python编程:从入门到实践(选记)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服