Python编程基础:实验2——列表及元组的使用

Python编程基础:实验2——列表及元组的使用

一、前言

在前面一个实验中我们练习了有关Python的循环结构,最近刚学习了列表及元组的相关知识,所以本期实验我们就来练习有关列别和元组的使用。

二、我的环境

  • 电脑系统:Windows 11
  • 语言版本:Python 3.10.4
  • 编译器:VSCode

三、实验目的与要求

  1. 理解列表概念并掌握Python中列表的使用
  2. 掌握列表的专用操作方法,熟练运用列表管理采集的信息,构建数据结构
  3. 理解元组与列表的区别

四、实验任务

1、程序填空

【填空9-1】随机产生20个100以内的整数,随机数种子是15,将这20个数添加到列表中。请完善代码。

import random
ls = []
random.seed(15)
for i in range(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】从键盘输入一个列表,计算输出列表元素的平均值。请完善代码。

def mean(numList):
    s = 0.0
    for num in numList:
        s = s + num
    return s
ls = eval(input())
print("平均值:", mean(ls)/len(ls))

它运行的结果是:

10,7,4,8,6
平均值: 7.0

【填空9-4】使用无限循环方式从键盘上接收输入姓氏,将姓氏保存在一个列表中,按E键结束输入。请完善代码。

ls = []
while True:
    s = input("")
    if s == "E":
        break
    for c in s:
        if c == "E":
            break
    ls.append(s)
print(ls)
print("程序退出")

它运行的结果是:

zhang
wang
li
zhao
liu
E
['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实验就到这里了,希望大家都能实操一遍,实操很重要,不然以后拿到题目之后无从下手,这些也是把之前的知识以做题的方式复习一遍,都是基础知识,相信你们很快就能掌握。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-北天-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值