edu-【Python之组合数据类型(列表、元组、集合、字典】【Python知识训练-内置对象,运算符】【玩转列表】【Python列表之列表应用之降序排序】【运算符的使用】【Python元组与字典入】

写在开头:仅作参考
可查看本篇文章康一下博主的python入门:python学习 – 菜鸟教程+B站视频

Python知识训练-内置对象

第1关:Python知识训练-内置对象
  1. 以下不能创建集合的语句是( C、s3 = {} )
  2. python语句print(type({1:1,2:2,3:3,4:4}))的输出结果是( <class ‘dict’> )
  3. max((1,2,3)*2)的值是( A、3 )
  4. sum([i * i for i in range(3)])的计算结果是(B、5 )
  5. 下面代码的输出结果是?for i in range(3): print(2, end=’,’) 【A 2,2,2,】
  6. tuple(range(2,10,2))的返回结果是( C、
    (2,4,6,8) )
  7. 已知 x, y = map(int, [‘1’, ‘2’]),那么表达式 x + y 的值为( C、3 )
  8. 已知列表 x = [1, 3, 2],那么执行语句 x.reverse() 之后,x的值为( B、[2, 3, 1] )
  9. 表达式 list(’[1, 2, 3]’) 的值是[1, 2, 3] 【B、错误】
  10. 在Python 3.x中,使用内置函数input()接收用户输入时,不论用户输入的什么格式,一律按字符串进行返回。 【A、正确】


Python知识训练-内置对象

第1关:Python知识训练-内置对象
  1. 下列选项中,不合法的数字是( B、0o784 )
  2. 下列选项中,合法的变量名是( C、age_1 )。
  3. Python语言提供的3个基本数字类型是( C、整数类型、浮点数类型、复数类型 )
  4. 下列选项中,正确定义了一个集合数据对象的是(A、x = { 200, ’flg’, 20.3} )。
  5. 字典的“键”必须是不可变的。(A、正确)


Python之组合数据类型(列表、元组、集合、字典)

第1关:列表及操作
#coding = utf-8
#********* Begin *********#
#第一步 请在列表fruit中找出不属于水果一类元素,赋值给变量 a
fruit = ["苹果","梨子","菠萝","黄瓜","香蕉"]
a = fruit[3]
    
#第二步 将变量 a 的值添加到列表vegetable 的末尾
vegetable = ["土豆","萝卜","茄子","白菜"]
vegetable.append(a)

#第三步 删去列表fruit中不属于水果的元素
del fruit[3]

#第四步 将列表fruit和列表vegetable作为元素按顺序加入到列表food中
food = []
food = [fruit,vegetable]

#最后打印输出列表food,打印输出列表food中第1个元素的第3个元素
print(food)
print(food[0][2])
#********* End *********#
第2关:元组及操作
#coding = utf-8
#********* Begin *********#
#第一题  列表和元组相互转换,修改元组中的数据

#第一步  将元组 fruit 转换为一个名为 fruit 的列表并打印输出
fruit = ("苹果","梨子","菠萝","黄瓜","香蕉")
fruit = list(fruit)
print(fruit)

#第二步  在上一步得到的列表 fruit 通过索引位置将"黄瓜"去掉并打印输出
fruit.pop(3)
print(fruit)

#第三步  将上一步的到的列表 fruit 转换为元组并打印输出
fruit = tuple(fruit)
print(fruit)

#第二题  通过元组的嵌套修改元组中的数据

#第一步  创建元组 food 将列表 fruit 和 vegetable 放入其中并打印输出元组food

fruit = ["苹果","梨子","菠萝","黄瓜","香蕉"]
vegetable = ["土豆","萝卜","茄子","白菜"]
food = (list(fruit),list(vegetable))
print(food)

#第二步  打印输出上一步得到的元组 food 的第一个元素(列表fruit)
print(food[0])

#第三步  通过索引位置去掉元组 food 的第一个元素(列表fruit)的"黄瓜"
del(food[0][3])
print(food[0])          #打印输出列表 food 的第一个元素

#第四步  打印输出元组 food 
print(food)
#********* End *********#

第3关:集合及操作
# -*- coding: utf-8 -*-
#********* Begin *********#
#第一步 请将列表fruit转换为一个集合
fruit = ["苹果","梨子","菠萝","黄瓜","香蕉"]
fruit = set(fruit)

#第二步 将集合fruit中的“黄瓜”去掉
fruit.remove("黄瓜")

#第三步 使用"in"判断"黄瓜"是否在fruit中,将判断结果打印输出
print("黄瓜" in fruit)

#第四步 创建空集合food,输出集合food的长度
food = set()
print(len(food))

#第五步 将fruit和vegetable合并到food并输出此时food的长度
vegetable = {"土豆","萝卜","茄子","白菜"}
food.update(fruit)
food.update(vegetable)
print(len(food))
#********* End *********#
第4关:字典及操作
# -*- coding: utf-8 -*-
#********* Begin *********#
#第一步 创建一个空字典 menu
menu={}

#第二步 将列表fruit中水果与prices中的价格对应给menu赋值并输出
fruit = ["苹果","梨子","菠萝","黄瓜","香蕉"]
prices = [2,3,10,2,1]
# menu = dict.fromkeys(fruit,prices)
menu['苹果'] = 2
menu['梨子'] = 3
menu['菠萝'] = 10
menu['黄瓜'] = 2
menu['香蕉'] = 1
print(menu)

#第三步 将20块钱的"哈密瓜"添加到字典menu中并输出
menu["哈密瓜"] = 20
print(menu)

#第四步 将"黄瓜"从menu中去掉并输出
del menu['黄瓜']
print(menu)

#第五步 将菠萝的价格修改为9.9,打印输出menu
menu["菠萝"] = 9.9
print(menu)
#********* End *********#n


Python知识训练-运算符

第1关:Python知识训练-运算符
  1. 已知x = [1, 2]和y = [3, 4],那么x+y的结果是( C、
    [1, 2, 3, 4] )

  2. 下面代码的输出结果是( print( 0.1 + 0.2 == 0.3) A、False )

  3. 已知x = [1, 2, 3],那么x*3的值为( D、
    [1, 2, 3, 1, 2, 3, 1, 2, 3] )

  4. 以下程序的输出结果是( D.True )

    >>>L1 =[‘abc’, [123,456]]
    >>>L2 = [1,2,3]
    >>>print(L1 > L2)
    
  5. 以下选项中值为False是( C、
    ‘Hello’ >‘hello’ )

  6. 下面代码的执行结果是( B.56 )

    >>>x = 2
    >>>x *= 3 + 5**2
    
  7. 下面表达式的执行结果是( A.6 )
    6 or 2 > 1

  8. 下面表达式的执行结果是( C.2 )
    3 > 1 and 2 or 2 < 3 and 3 or 3 > 2

  9. Python运算符"-"的功能不包括:( B、
    字符串格式化)。

  10. 下列表达式的值为True的是( C、(3, 2) > (1, 0) or ( a, ) )。



玩转列表

第1关:列表元素的增删改:客人名单的变化

1、编程要求

  • 本关的编程任务是补全src/Step1/guests.py文件的代码,实现相应的功能。具体要求如下:

  • step 1:将guests列表末尾的元素删除,并将这个被删除的元素值保存到deleted_guest变量;

  • step 2:将deleted_guest插入到 step 1 删除后的guests列表索引位置为2的地方;

  • step 3:将 step 2 处理后的guests列表索引位置为1的元素删除;

  • 打印输出 step 1 的deleted_guest变量;

  • 打印输出 step 3 改变后的guests列表。

2、代码展示

# coding=utf-8

# 创建并初始化Guests列表
guests = []
while True:
    try:
        guest = input()
        guests.append(guest)
    except:
        break

# 请在此添加代码,对guests列表进行插入、删除等操作
########## Begin ##########
deleted_guest = guests.pop()
guests.insert(2,deleted_guest)
del guests[1]
print(deleted_guest)
print(guests)
########## End ##########

第2关:列表元素的排序:给客人排序

1、 编程要求

  • 本关的编程任务是补全src/step2/sortTest.py 文件中的函数部分,要求实现对输入列表source_list中的元素按照首字母从小到大的顺序进行排序,并且输出排序后的列表。

2、 代码展示

# coding=utf-8

# 创建并初始化`source_list`列表
source_list = []
while True:
	try:
		list_element = input()
		source_list.append(list_element)
	except:
		break
	
# 请在此添加代码,对source_list列表进行排序等操作并打印输出排序后的列表
########## Begin ##########
source_list.sort()
print(source_list)
########## End ##########
第3关: 数值列表:用数字说话

1、 编程要求

  • 编程任务是补全src/Step3/numbers_square.py文件的代码内容,实现如下功能:

  • step1:根据给定的下限数lower, 上限数upper以及步长step,利用range函数生成一个列表;

  • step2:计算该列表的长度;

  • step3:求该列表中的最大元素与最小元素之差。

2、 代码实现

# coding=utf-8

# 创建并读入range函数的相应参数
lower = int(input())
upper = int(input())
step = int(input())

# 请在此添加代码,实现编程要求
########## Begin ##########
range_list = range(lower,upper,step)
print(len(range_list))
print(max(range_list)-min(range_list))
########## End ##########

第4关:列表切片:你的菜单和我的菜单

1、 编程要求

  • 本关的编程任务是补全src/Step4/foods.py文件的代码内容,实现如下功能:

  • 利用切片方法从my_menu列表中每3个元素取1个,组成子序列并打印输出;

  • 利用切片方法获取my_menu列表的最后三个元素组成子序列并打印输出。

2、 代码展示

# coding=utf-8

# 创建并初始化my_menu列表
my_menu = []
while True:
	try:
		food = input()
		my_menu.append(food)
	except:
		break

# 请在此添加代码,对my_menu列表进行切片操作
########## Begin ##########
child_list = my_menu[0::3]
print(child_list)
print(my_menu[-3:])

########## End ##########



Python列表之列表应用之降序排序

第1关:学习-Python列表之列表应用之降序排序

1、 代码展示

"""
任务:给定一个列表,使用 for 循环来复制它,对复制后的列表进行倒序排序。打印原列表和排序后的列表。
"""

list1 = [6,9,12,3,5,8,1,8,131,58,1,581,31,8,46,13,8,4,613,30,546,0,68,4,1,3,16,99,61,-102,-290,116.5,165,-2.3]
 
# 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
##########Begin##########
# 使用for循环复制列表,对复制后的列表进行倒序排序,并打印原列表和排序后的列表
list2 = []
for i in list1:
    list2.append(i)
list2.sort(reverse=True)
print("原列表为:",end='')
print(list1)
print("复制后的列表为:",end='')
print(list2)
##########End##########


运算符的使用

第1关:算术、比较、赋值运算符

1、 编码要求

  • 对于输入的苹果数量apple和梨的数量pear,写出apple加pear的代码;
  • 对于输入的苹果数量apple和梨的数量pear,写出apple除以pear的代码;
  • 对于输入的苹果数量apple,写出apple的2次幂的代码;
  • 对于输入的苹果数量apple和梨的数量pear,判断apple是否与pear相等;
  • 对于输入的苹果数量apple和梨的数量pear,判断apple是否大于等于pear;
  • 对于输入的梨的数量pear,用赋值乘法运算符计算pear乘以2,并赋值给pear。

2、 代码展示

# 定义theOperation方法,包括apple和pear两个参数,分别表示苹果和梨子的数量
def theOperation(apple,pear):
    # 请在此处填入计算苹果个数加梨的个数的代码,并将结果存入sum_result变量
    ########## Begin ##########
    sum_result = apple + pear
    ########## End ##########
    print(sum_result)
    # 请在此处填入苹果个数除以梨的个数的代码,并将结果存入div_result变量
    ########## Begin ##########
    div_result = apple/pear
    ########## End ##########
    print(div_result)
    # 请在此处填入苹果个数的2次幂的代码,并将结果存入exp_result变量
    ########## Begin ##########
    exp_result = apple**2    
    ########## End ##########
    print(exp_result)
    # 请在此处填入判断苹果个数是否与梨的个数相等的代码,并将结果存入isequal变量
    ########## Begin ##########
    isequal =(apple == pear)
    ########## End ##########
    print(isequal)
      
    # 请在此处填入判断苹果个数是否大于等于梨的个数的代码,并将结果存入ismax变量
    ########## Begin ##########
    ismax = (apple>pear)
    ########## End ##########
    print(ismax)
    
    # 请在此处填入用赋值乘法运算符计算梨个数乘以2的代码,并将结果存入multi_result变量
    ########## Begin ##########
    multi_result =  pear*2
    ########## End ##########
    print(multi_result)

第2关:逻辑运算符

1、 编码要求: 本关的编程任务是补全logic.py文件中的代码,对于输入的tom与jerry的真假性实现如下功能:

  • 计算jerry的逻辑非,并打印输出;
  • 计算tom与jerry的逻辑与,并打印输出。

2、 代码展示

# 定义逻辑运算处理函数theLogic,其中tom与Jerry分别代表两个输入参数
def theLogic(tom,jerry):

    # 请在此处填入jerry的布尔“非”代码,并将结果存入到not_result这个变量
    ########## Begin ##########
    not_result = not jerry
    ########## End ##########
    print(not_result)

    # 请在此处填入tom,jerry的逻辑与代码,并将结果存入到and_result这个变量
    ########## Begin ##########
    and_result = tom and jerry
    ########## End ##########
    print(and_result)
第3关:位运算符

1、编程要求:本关的编程任务是补全bit.py文件中的代码,实现如下功能:

  • 计算两个输入变量bitone、bittwo按位与的值;
  • 计算两个输入变量bitone、bittwo按位或的值;
  • 计算两个输入变量bitone、bittwo按位异或的值;
  • 计算一个输入变量bitone按位取反的值;
  • 计算一个输入变量bittwo左移动两位的值;
  • 计算一个输入变量bittwo右移动两位的值。

2、 代码展示

# 定义位运算处理函数bit, 其中bitone和bittwo两个参数为需要进行位运算的变量,由测试程序读入。
def bit(bitone,bittwo):
	# 请在此处填入将bitone,bittwo按位与的代码,并将运算结果存入result变量
    ########## Begin ##########
    result = bitone & bittwo
    ########## End ##########
	print(result)

	# 请在此处填入将bitone,bittwo按位或的代码,并将运算结果存入result变量
    ########## Begin ##########
    result = bitone | bittwo
    ########## End ##########
	print(result)

	# 请在此处填入将bitone,bittwo按位异或的代码,并将运算结果存入result变量
    ########## Begin ##########
    result = bitone ^ bittwo
    ########## End ##########
	print(result)

	# 请在此处填入将bitone按位取反的代码,并将运算结果存入result变量
    ########## Begin ##########
    result = ~bitone
    ########## End ##########
	print(result)

	# 请在此处填入将bittwo左移动两位的代码,并将运算结果存入result变量
    ########## Begin ##########
    result = bittwo << 2
    ########## End ##########
	print(result)

	# 请在此处填入将bittwo右移动两位的代码,并将运算结果存入result变量
    ########## Begin ##########
    result = bittwo >> 2
    ########## End ##########
	print(result)
第4关:成员运算符

1、 编程要求:本关的任务是补全member.py文件中的代码,实现如下功能:

  • 判断输入的人名me是否存在于输入的成员名单中;
  • 判断输入的人名me是否不存在于输入的成员名单中。

2、 代码展示

# 定义成员片段函数member,参数me为待判断的人名,member_list为成员名单
def member(me,member_list = []):
    # 请在if后面的括号中填入判断变量me是否存在于list中的语句
    ########## Begin ##########
    if(me in member_list ):
        print("我是篮球社成员")
    else:
        print("我不是篮球社成员")
    ########## End ##########
    
    
    # 请在if后面的括号中填入判断变量me是否存在于list中的语句
    ########## Begin ##########
    if(me not in member_list ):
        print("我不是篮球社成员")
    else:
        print("我是篮球社成员")
   ########## End ##########

第5关:身份运算符

1、 编程要求

  • 判断输入的两个数addressone、addresstwo是否有相同的存储单元;
  • 判断输入的两个数addresstwo、addressthree是否没有相同的存储单元。

2、代码展示

# 定义addressone和addresstwo两个变量,并为其赋值
addressone = 20
addresstwo = 20
addressthree = 12

# 在if后面的括号中填入判断变量addressone与变量addresstwo是否有相同的存储单元的语句
########## Begin ##########
if(addressone is addresstwo):
    print("变量addressone与变量addresstwo有相同的存储单元")
else:
    print("变量addressone与变量addresstwo的存储单元不同")
########## End ##########


# 在if后面的括号中填入判断变量addresstwo与变量addressthree是否没有相同的存储单元的语句
########## Begin ##########
if(addressthree is not  addresstwo):
       print("变量addresstwo与变量addressthree的存储单元不同")
else:
       print("变量addresstwo与变量addressthree有相同的存储单元")
########## End ##########
第6关:运算符的优先级

1、 编程要求

  • 先将var1左移两位,然后计算var1与var2的和,最后将这个值乘以var3,输出最后的值;
  • 先将var1与var2按位与,然后计算得到的值与var3的和,最后将这个值乘以var4,输出最后的值。

2、 代码展示

# 定义并实现优先级运算函数theProirity
def thePriority(var1,var2,var3,var4):
    # 先将var1左移两位,然后计算var1与var2的和,最后后将这个值乘以var3,并将最终结果存入result变量
    ########## Begin ##########
    result = ((var1 << 2) + var2) * var3
    ########## End ##########
    print(result)


    # 先将var1与var2按位与,然后计算得到的值与var3的和,最后后将这个值乘以var4,并将最终结果存入result变量
    ########## Begin ##########
    result = ((var1 & var2) + var3)*var4
    ########## End ##########
    print(result)

Python元组与字典入门

第1关:元组使用:这份菜单能修改吗?

1、 编码要求

  • 将输入的菜单menu_list转换为元组类型;
  • 打印输出生成的元组;
  • 打印输出元组中首字母最大的元素。

2、代码展示

# coding=utf-8

# 创建并初始化menu_list列表
menu_list = []
while True:
	try:
		food = input()
		menu_list.append(food)
	except:
		break

# 请在此添加代码,对menu_list进行元组转换以及元组计算等操作,并打印输出元组及元组最大的元素
###### Begin ######
menu_list = tuple(menu_list)
print(menu_list)
print(max(menu_list))
#######  End #######
第2关:字典使用:这份菜单可以修改

1、 编程要求:

  • 向menu_dict字典中添加一道菜名lamb,它的价格是50;
  • 获取menu_dict字典中的fish的价格并打印出来;
  • 将menu_dict字典中的fish的价格改为100;
  • 删除menu_dict字典中noodles这道菜;
    输出新的menu_dict菜单。

2、 代码展示

# coding=utf-8

# 创建并初始化menu_dict字典
menu_dict = {}
while True:
	try:
		food = input()
		price = int(input())
		menu_dict[food]= price
	except:
		break

#请在此添加代码,实现对menu_dict的添加、查找、修改等操作,并打印输出相应的值
###### Begin ######
menu_dict['lamb'] = 50
print(menu_dict['fish'])
menu_dict['fish'] = 100
del menu_dict['noodles']
print(menu_dict)

#######  End #######

第3关:字典遍历:菜名和价格的展示

1、 编程要求

  • 将menu_dict菜单的键遍历输出;
  • 将menu_dict菜单的值遍历输出。

2、 代码要求

# coding=utf-8

# 创建并初始化menu_dict字典
menu_dict = {}
while True:
	try:
		food = input()
		price = int(input())
		menu_dict[food]= price
	except:
		break

#请在此添加代码,实现对menu_dict的遍历操作并打印输出键与值
###### Begin ######
for key in menu_dict.keys():
	print(key)
for value in menu_dict.values():
	print(value)

#######  End #######
第4关:嵌套 - 菜单的信息量好大

1、 编程要求

  • menu_total列表中初始时只包含menu1字典,menu1字典中包含两道菜和两道菜的价格;
  • 编程要求是向menu_total列表中添加另外一个菜单字典menu2,menu2菜单中的菜名和menu1菜单一样,菜的价格是menu1菜的价格的2倍;
  • 输出新的menu_total列表。

2、 代码展示

#coding=utf-8

#初始化menu1字典,输入两道菜的价格
menu1 = {}
menu1['fish']=int(input())
menu1['pork']=int(input())

#menu_total列表现在只包含menu1字典
menu_total = [menu1]

# 请在此添加代码,实现编程要求
#********** Begin *********#

menu2={}
menu2['fish']=menu1['fish']*2
menu2['pork']=menu1['pork']*2
menu_total=[menu1,menu2]

#********** End **********#

#输出menu_total列表
print(menu_total)

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值