一、前言
在前面一个实验中我们练习了有关Python的循环结构,最近刚学习了列表及元组的相关知识,所以本期实验我们就来练习有关列别和元组的使用。
二、我的环境
- 电脑系统:Windows 11
- 语言版本:Python 3.10.4
- 编译器:VSCode
三、实验目的与要求
- 理解列表概念并掌握Python中列表的使用
- 掌握列表的专用操作方法,熟练运用列表管理采集的信息,构建数据结构
- 理解元组与列表的区别
四、实验任务
1、程序填空
【填空9-1】随机产生20个100以内的整数,随机数种子是15,将这20个数添加到列表中。请完善代码。
importrandomls= [] random.seed(15) foriinrange(20): a=random.randint(0, 100) ls.append(a) print(ls)
它运行的结果是:
[26, 1, 66, 94, 4, 20, 30, 2, 7, 87, 18, 88, 47, 30, 14, 43, 59, 90, 45, 35]
【填空9-2】请补充横线处的代码,listA中存放了十一准备旅游的景点,让Python帮你增加一个“连岛”,去掉一个“孔望山”。请完善下面的代码。
listA= ['花果山', '渔湾', '孔望山', '连云港老街', '云台山'] listA.append("连岛") listA.remove("孔望山") print(listA)
它运行的结果是:
['花果山', '渔湾', '连云港老街', '云台山', '连岛']
【填空9-3】从键盘输入一个列表,计算输出列表元素的平均值。请完善代码。
defmean(numList): s=0.0fornuminnumList: s=s+numreturnsls=eval(input()) print("平均值:", mean(ls)/len(ls))
它运行的结果是:
10,7,4,8,6平均值:7.0
【填空9-4】使用无限循环方式从键盘上接收输入姓氏,将姓氏保存在一个列表中,按E键结束输入。请完善代码。
ls= [] whileTrue: s=input("") ifs=="E": breakforcins: ifc=="E": breakls.append(s) print(ls) print("程序退出")
它运行的结果是:
zhangwanglizhaoliuE['zhang', 'wang', 'li', 'zhao', 'liu'] 程序退出
2、程序编程
【编程9-1】下面是2021年江苏各市GDP总值
JiangSu_GDP=[16355, 22718, 3719, 3727, 14003, 11026, 8807, 8117, 6696, 6617, 6025, 4763, 4550]
请对JiangSu_GDP进行升序排序,并且打印出来
请对JiangSu_GDP进行降序排序,并且打印出来
请用排序+切片的方式,找出Top3的GDP
请用排序+切片的方式,找出最低的3个GDP
JiangSu_GDP=[16355, 22718, 3719, 3727, 14003, 11026, 8807, 8117, 6696, 6617, 6025, 4763, 4550] print("进行升序排序") top=sorted(JiangSu_GDP, reverse=False) print(top) print("----------------------------------------------------------") print("进行降序排序") last=sorted(JiangSu_GDP, reverse=True) print(last) print("查看最后3个数据(top3)") print(sorted(last[:3], reverse=False)) print("----------------------------------------------------------") print("查看最前3个数据(最低的3个市GDP)") print(top[:3])
它运行的结果是:
进行升序排序[3719, 3727, 4550, 4763, 6025, 6617, 6696, 8117, 8807, 11026, 14003, 16355, 22718] ----------------------------------------------------------进行降序排序[22718, 16355, 14003, 11026, 8807, 8117, 6696, 6617, 6025, 4763, 4550, 3727, 3719] 查看最后3个数据(top3) [14003, 16355, 22718] ----------------------------------------------------------查看最前3个数据(最低的3个市GDP)[3719, 3727, 4550]
【编程9-2】你现有管理一个停车场,现有一组车位租用情况,结构如下:
car_nums=['苏 GA0001', '苏 GA00X9', '苏 GA0027']
现有新来了一辆车 ‘苏 GA0030’,请把它放在car_nums的最后面
现有新来了一辆车 ‘苏 GA0000’,请把它放在car_nums的最前面
‘苏 GA00X9’这辆车现在不租你的停车位,请把它从car_nums中删掉
现在来了一个车队[‘苏 GB0001’, ‘苏 GB0002’, ‘苏 GB0003’],请用一行代码把它加到car_nums中。
car_nums=['苏 GA0001', '苏 GA00X9', '苏 GA0027'] print("现有新来了一辆车 '苏 GA0030',请把它放在car_nums的最后面") car_nums.append('苏 GA0030') print(car_nums) print("----------------------------------------------------------------") print("现有新来了一辆车 '苏 GA0000',请把它放在car_nums的最前面") car_nums.insert(0, '苏 GA0000') print(car_nums) print("----------------------------------------------------------------") print("'苏 GA00X9'这辆车现在不租你的停车位,请把它从car_nums中删掉") car_nums.remove('苏 GA00X9') print(car_nums) print("----------------------------------------------------------------") print("现在来了一个车队['苏 GB0001', '苏 GB0002', '苏 GB0003'],请用一行代码把它加到car_nums中") car_nums.extend(['苏 GB0001', '苏 GB0002', '苏 GB0003']) print(car_nums)
它运行的结果是:
现有新来了一辆车'苏 GA0030',请把它放在car_nums的最后面['苏 GA0001', '苏 GA00X9', '苏 GA0027', '苏 GA0030'] ----------------------------------------------------------------现有新来了一辆车'苏 GA0000',请把它放在car_nums的最前面['苏 GA0000', '苏 GA0001', '苏 GA00X9', '苏 GA0027', '苏 GA0030'] ----------------------------------------------------------------'苏 GA00X9'这辆车现在不租你的停车位,请把它从car_nums中删掉['苏 GA0000', '苏 GA0001', '苏 GA0027', '苏 GA0030'] ----------------------------------------------------------------现在来了一个车队['苏 GB0001', '苏 GB0002', '苏 GB0003'],请用一行代码把它加到car_nums中['苏 GA0000', '苏 GA0001', '苏 GA0027', '苏 GA0030', '苏 GB0001', '苏 GB0002', '苏 GB0003']
五、最后我想说
本期的Python实验就到这里了,希望大家都能实操一遍,实操很重要,不然以后拿到题目之后无从下手,这些也是把之前的知识以做题的方式复习一遍,都是基础知识,相信你们很快就能掌握。