第1关:列表元素的增删改:客人名单的变化
任务描述
本关任务是对一个给定的列表进行增、删、改等操作,并输出变化后的最终列表。列表是由按一定顺序排列的元素组成,其中的元素根据需要可能会发生变化。其中,列表元素的添加、删除或修改等是最常见的操作。
下面以一则请客的故事来说明列表元素操作的应用场景: 有个人邀请几个朋友吃饭,初步拟定了一个客人名单列表guests=['Zhang san','Li si','Wang wu','Zhao liu']
。后面因为一些临时情况,这个客人名单不断变化:
-
Zhao liu
说要带他的朋友Hu qi
一起来; -
Zhang san
因临时有事不能来了; -
Wang wu
说由他的弟弟Wang shi
代他赴宴。
最终的客人名单列表如下:
['Li si','Wang shi','Zhao liu','Hu qi']
# coding=utf-8
# 创建并初始化Guests列表
guests = []
while True:
try:
guest = input()
guests.append(guest)
except:
break
# 请在此添加代码,对guests列表进行插入、删除等操作
########## Begin ##########
deleted_guest= guests.pop(-1)
guests.insert(2,deleted_guest)
del guests[1]
print(deleted_guest)
print(guests)
########## End ##########
第2关:列表元素的排序:给客人排序
任务描述
本关的任务是学会列表排序相关操作的使用方法,实现对列表元素的排序。一般情况下我们创建的列表中的元素可能都是无序的,但有些时候我们需要对列表元素进行排序。
例如,我们想将参加会议的专家名单guests
列表中的五个名字元素['zhang san','li si','wang wu','sun qi','qian ba']
,分别按照首字母从小到大的顺序和从大到小的顺序分别排序。排序后的输出分别为:
['li si','qian ba','sun qi','wang wu','zhang san']
['zhang san','wang wu','sun qi','qian ba','li si']
# 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关:数值列表:用数字说话
任务描述
本关任务是利用合适的方法快速创建数字列表,并能够对列表中的元素数值进行简单的统计运算。在数据可视化的背景下,数字列表在 Python 列表中的应用十分广泛,列表十分适合存储数字集合。
本关目标是让学习者掌握一些处理数字列表的基本方法,主要包括数字列表的创建、对数字列表进行简单的统计运算等。例如,我们要创建一个从2到10的偶数的数字集合,然后计算出该集合的数值之和:
data_set = [2,4,6,8,10]
sum=30
# coding=utf-8
# 创建并读入range函数的相应参数
lower = int(input())
upper = int(input())
step = int(input())
# 请在此添加代码,实现编程要求
########## Begin ##########
lists = range(lower, upper, step)
print(len(lists))
print(max(lists) - min(lists))
########## End ##########
第4关:列表切片:你的菜单和我的菜单
任务描述
我们在前三关中学习了如何处理单个列表元素和所有列表元素,在这一关中我们还将学习如何处理部分列表元素(Python 中称为切片)。例如,当我们去餐馆吃饭点菜时,你的菜单和我的菜单有些时候是一模一样,也有些时候是部分菜名一样。那么如何根据我已经点好的菜单生成你的菜单呢?
本关将通过菜名列表的部分复制,让学习者了解并掌握列表切片的基础知识。
# coding=utf-8
# 创建并初始化my_menu列表
my_menu = []
while True:
try:
food = input()
my_menu.append(food)
except:
break
# 请在此添加代码,对my_menu列表进行切片操作
########## Begin ##########
print(my_menu[::3])
print(my_menu[-3:])
########## End ##########