Python期末复习题:组合数据类型

这篇具有很好参考价值的文章主要介绍了Python期末复习题:组合数据类型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python期末复习题:组合数据类型

一、成绩分析

有10 名同学的python 课程成绩分别为:94, 89, 96, 88, 92, 86, 69, 95, 78,85。

要求利用列表分析成绩,输出平均值、最高的3个成绩和最低的3个成绩、成绩中位数(是按顺序排列的一组数据中居于中间位置的数,如果观察值有偶数个,通常取最中间的两个数值的平均数作为中位数)。

针对上述成绩的输出结果应该为:

平均成绩为:87.2

最高3个成绩为:[96, 95, 94]

最低3个成绩为: 69 78 85

中位数成绩为:88.5

score = [94, 89, 96, 88, 92, 86, 69, 95, 78, 85]
avg = sum(score) / len(score)
score.sort()
max_3 = score[-3:]
min_3 = score[:3]

n = len(score)
if n % 2 == 0:
    median = (score[n // 2 - 1] + score[n // 2]) / 2
else:
    median = score[n // 2]
print(f'平均成绩为:{avg}')
print(f'最高3个成绩为:{max_3}')
print('最低3个成绩为:', *min_3)
print(f'中位数成绩为:{median}')

运行的结果是:

平均成绩为:87.2
最高3个成绩为:[94, 95, 96]
最低3个成绩为: 69 78 85
中位数成绩为:88.5

二、列表的属性与方法

初始化一个空列表,输入一个正整数 n。

接下来,你将被要求输入 n 个指令,每得到一个指令后,根据指令的字符串进行对应的功能操作。

指令形式及对应功能如下:

insert i e: # 在第 i 个位置插入整数 e

print: # 输出列表

remove e: # 删除第一次出现的整数 e

append e: # 在列表的末尾插入整数

e.sort: # 按默认规则排序

pop: # 弹出列表最后一一个元素

reverse: # 列表元素逆序

示例 如下:

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬输入:

12

insert 0 5

insert 1 10

insert 0 6

print

remove 6

append 9

append 1

sort

print

pop

reverse

print

输出:

[6, 5, 10]

[1, 5, 9, 10]

[9, 5, 1]

n = int(input())
ls = []
for i in range(n):
    a = input().split()
    if a[0] == 'insert':
        ls.insert(int(a[1]), int(a[2]))
    elif a[0] == 'print':
        print(ls)
    elif a[0] == 'remove':
        ls.remove(int(a[1]))
    elif a[0] == 'append':
        ls.append(int(a[1]))
    elif a[0] == 'sort':
        ls.sort()
    elif a[0] == 'pop':
        ls.pop()
    elif a[0] == 'reverse':
        ls.reverse()

运行的结果是:

12
insert 0 5
insert 1 10
insert 0 6
print
[6, 5, 10]
remove 6
append 9
append 1
sort
print
[1, 5, 9, 10]
pop
reverse
print
[9, 5, 1]

三、模拟通讯录的数据添加功能

模拟通讯录的数据添加功能。

def menu():

 print('''\n欢迎使用PYTHON学生通讯录

1:添加学生

2:删除学生

3:修改学生信息

4:搜索学生

5:显示全部学生信息

6:退出并保存''')

dic={'张自强': ['12652141777', '材料'], '庚同硕': ['14388240417', '自动化'], '王岩': ['11277291473', '文法']}

要求编写程序

首先输出字典原始数据,再调用menu函数输出用户选择界面,接下来读用户输入:

(1) 输入‘1’ 进行添加学生,输入姓名,如果该姓名已存在,则输出“Fail”的提示信息,如果不存在,继续输入电话和所在学院。添加完毕后输出“Success”提示信息。无论是否添加成功,结束后需要输出操作后的字典数据。

(2) 如果输入其他选项,无需再读姓名,直接输出“ERROR”。

示例

输入:

1

杨彪

11002345678

材料

输出:

{‘张自强’: [‘12652141777’, ‘材料’], ‘庚同硕’: [‘14388240417’, ‘自动化’], ‘王岩’: [‘11277291473’, ‘文法’]}

欢迎使用PYTHON学生通讯录

1:添加学生

2:删除学生

3:修改学生信息

4:搜索学生

5:显示全部学生信息

6:退出并保存

#输入数据

{‘张自强’: [‘12652141777’, ‘材料’], ‘庚同硕’: [‘14388240417’, ‘自动化’], ‘王岩’: [‘11277291473’, ‘文法’], ‘杨彪’: [‘11002345678’, ‘材料’]}

def menu():

 print('''\n欢迎使用PYTHON学生通讯录

1:添加学生

2:删除学生

3:修改学生信息

4:搜索学生

5:显示全部学生信息

6:退出并保存''')

dic={'张自强': ['12652141777', '材料'], '庚同硕': ['14388240417', '自动化'], '王岩': ['11277291473', '文法']}

def add():
    name = input().split()
    try:
        phone = input().split()
        college = input().split()
        message = [phone, college]
    except:
        print("Fail")
    else:
        dic[name] = message
        print("Success")
 
print(dic)
menu()
choice = input()
if(choice == '1'):
    add()
    print(dic)
else:
    print("ERROR")

运行的结果是:

{'张自强': ['12652141777', '材料'], '庚同硕': ['14388240417', '自动化'], '王岩': ['11277291473', '文法']}

欢迎使用PYTHON学生通讯录

1:添加学生

2:删除学生

3:修改学生信息

4:搜索学生

5:显示全部学生信息

6:退出并保存
1
杨彪
11002345678
材料
Success
{'张自强': ['12652141777', '材料'], '庚同硕': ['14388240417', '自动化'], '王岩': ['11277291473', '文法'], '杨彪': ['11002345678', '材料']}

四、字典列表的排序

字典列表的排序。第一行输入一个正整数 N,随后的 N 行各输入一个人的姓名和年龄,中间用空格分隔(形如 “Tom 18” ),将字符串转为形如 {“name”:“Tom”,“age”:18} 的字典,按顺序加入到列表中,得到一个元素为字典的列表,分别根据年龄和姓名对其排序输出。

示例

输入:

4

Tom 18

Jerry 47

Cat 20

Doge 33

输出:

[{‘name’: ‘Tom’, ‘age’: 18}, {‘name’: ‘Cat’, ‘age’: 20}, {‘name’: ‘Doge’, ‘age’: 33}, {‘name’: ‘Jerry’, ‘age’: 47}]

[{‘name’: ‘Cat’, ‘age’: 20}, {‘name’: ‘Doge’, ‘age’: 33}, {‘name’: ‘Jerry’, ‘age’: 47}, {‘name’: ‘Tom’, ‘age’: 18}]

n = int(input())
ls = []
for i in range(n):
    a, b = input().split()
    dicts = {"name": a, "age": int(b)}
    ls.append(dicts)
list_age = sorted(ls, key=lambda x: x['age'])
list_name = sorted(ls, key=lambda x: x['name'])
print(list_age)
print(list_name)

运行的结果是:文章来源地址https://www.toymoban.com/news/detail-449832.html

4
Tom 18
Jerry 47
Cat 20
Doge 33
[{'name': 'Tom', 'age': 18}, {'name': 'Cat', 'age': 20}, {'name': 'Doge', 'age': 33}, {'name': 'Jerry', 'age': 47}]
[{'name': 'Cat', 'age': 20}, {'name': 'Doge', 'age': 33}, {'name': 'Jerry', 'age': 47}, {'name': 'Tom', 'age': 18}]

到了这里,关于Python期末复习题:组合数据类型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数据结构】——期末复习题题库(1)

    🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL:数据结构_IT闫的博客-CSDN博客 🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客 💎C++:C++_IT闫的博客-CSDN博

    2024年02月03日
    浏览(59)
  • 《大数据技术原理与应用(第3版)》期末复习——前两章练习题

    第一章 大数据概述 1【单选题】 人类社会的数据产生方式大致经历了三个阶段, 不包括 : A、运营式系统阶段 B、用户原创内容阶段 C、互联网应用阶段 D、感知式系统阶段 答案:C 数据产生方式经历了三个阶段:运营式系统阶段、用户原创内容阶段、感知式系统阶段 2【单选

    2024年02月07日
    浏览(49)
  • 算法期末复习题

    一、选择题 1 、二分搜索算法是利用(     A        )实现的算法。 A 、分治策略   B、动态规划法   C、贪心法    D、回溯法 2 、下列不是动态规划算法基本步骤的是(   A     )。 A 、找出最优解的性质   B、构造最优解   C、算出最优解   D、定义最优解 3 、衡量

    2024年02月11日
    浏览(54)
  • 【Oracle】期末复习题

    目录 一. 单选题(共164 题) 二. 多选题(共14 题) 三. 填空题(共4 题) 四. 分析题(共五题) 一)考生子系统 三)考试存储方案 四)铁路12306 五)顺丰快递 1.   快速恢复区是为保存归档日志、备份、闪回日志等内容在磁盘上专门留出的空间。一般情况下,建议快速恢复

    2024年01月16日
    浏览(58)
  • 专业英语期末复习题

    选择题 15*0.5 中英文词汇互译15*0.5 缩略语10*2 完形填空10*1 选词填空20**1 阅读理解10*1 句子和短文翻译6题=25分 【单选题】( )is a functional unit that interprets and carries out instructions. A、memory B、processor C、storage D、network 【单选题】( ) consists of the symbols, characters, and usage rules tha

    2023年04月21日
    浏览(54)
  • 软件工程-期末复习题

    第1章软件工程概述 1、软件的概念及特点 概念: 计算机软件是由专业人员开发并长期维护的软件产品。完整的软件产品包括了在各种不同容量和体系结构计算机上的可执行的程序,运行过程中产生的各种结果,以及以硬复制和电子表格等多种方式存在的软件文档 特点: 1)

    2024年02月13日
    浏览(50)
  • 操作系统期末复习题

    一、简答 1. 什么是进程?它与程序相比有哪些特性? 进程是进程实体的运行过程,是系统进行资源分配和调度的基本单位。 动态性、独立性、并发性 2. 什么是进程?进程静态实体的组成是什么? 程序、数据集合、进程控制块PCB 3. 进程的三种基本状态是什么?画出进程的三

    2024年02月11日
    浏览(67)
  • 《大数据技术原理与应用(第3版)》期末复习——第三章分布式文件系统HDFS习题

    分布式文件系统的结构 1、 名称节点 (“主节点”): 负责文件和目录的创建、删除和重命名等,同时管理着数据节点和文件块之间的映射关系。 2、 数据节点 (“从节点”): 负责数据的存储和读取。在存储时,由名称节点分配存储位置,然后由客户端把数据直接写入相应

    2024年02月12日
    浏览(49)
  • 算法设计与分析期末复习题

    1.应用Johnson法则的流水作业调度采用的算法是(D) A. 贪心算法 B. 分支限界法 C.分治法 D. 动态规划算法 2.Hanoi塔问题如下图所示。现要求将塔座A上的的所有圆盘移到塔座B上,并仍按同样顺序叠置。移动圆盘时遵守Hanoi塔问题的移动规则。由此设计出解Hanoi塔问题的递归算法正

    2024年02月09日
    浏览(38)
  • ssm开源框架期末复习题

    01-05:C D C D A 06-10:D B B C B 11-15:C D D C D 16-19:C D B D 20.拦截器 21.时间 22. ORM 23.《Mapper》 24.动态SQL 25.依赖注入 26.构造器注入,Setter注入,接口注入 27.singleton, prototype 28.基于XML装配Bean , 基于注解装配Bean , 基于组件扫描注解装配Bean 29.解耦 30.@Controller , @RequestMapping 31.控制器

    2024年02月05日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包