- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构(Python课程)课程项目3-2(视频信息收集和管理)
数据结构(Python 课程)课程项目3-2 (视频信息收集和管理)
(北京大学数学学院,2014 年12 月11 日)
本项目要求以项目组为单位独立完成下面工作。一个项目组由两位同学组成。项目的评
分要求包括:
1. 所提交的程序应该完整(可运行并正确实现了所需功能),应包括主程序和一个 demo
程序(演示程序)。程序的模块划分合理,代码清晰,格式合理,易读易理解;
2. 所提交报告对项目工作描述应清晰准确,说明为什么采用有关的结构设计,其中的想法
和解决的问题等;报告应包含对所完成工作的分析,讨论其优点和缺点;
3. 报告中应总结在完成这一项目过程中的体会和遇到的困难。
项目描述:
本项目要求实现一个能对用户喜爱的电影/ 电视剧/动画等进行管理与分析的程序。具体
要求如下(部分功能需要参考的知识在附录中给出):
1. 用户可以向视频库单个或批量地添加本地视频(或网络视频);
2. 程序可以自动从网络上获取视频信息,包括但不限于:视频标题(可由用户提供,也可
尝试从文件名猜测),类型(动作/剧情/惊悚/动画/治愈/ ……),发行年代,导演,编剧,
演员/声优列表,综合评分等,同时用户也可以在本地对这些信息进行修改和补充,并留
下自己的文字评价;
3. 所有视频库相关信息都应能导出到本地文件中,或者从本地文件导入;
4. 程序应提供适当且方便的接口,使用户能方便简洁地在本地视频库中完成多种搜索与分
析工作,例如:
I) 将宫崎骏导演的所有评分在8分以下的电影修改为8分;
II) 统计周星驰参演的所有影片的平均得分;
III) 总结出虚渊玄为编剧的所有作品中最常标记的3个视频类型;
IV) 获取2005年以前施瓦辛格参演的所有动作片,按得分排序,生成播放列表;
5. 用户可以借助视频库中已有的信息分析演员之间的关联。例如,如果两名演员多次(次
数可由用户给定)同时出演一部影片,就称两人是友人。可以实现的功能如:
I) 用户给出演员三泽纱千香与水树奈奈,程序能试图求一条类似三泽纱千香-中村
悠一-水树奈奈的演员链,使链条尽可能短且其中任意相邻两人都是友人;
II) 给定一名演员,程序能尝试求出演员所在的一个好友团体,即团体中的演员彼
此都是友人。思考能否尽可能求出人数最多的团体;
6. 高级用户应该能遵循给定的规范(应在报告中说明),在不修改项目已有代码的前提下,
自行实现新的类来扩展程序的功能,比如,添加更多的在网络上获取视频信息的来源,
添加更多的查询与分析策略,更多的查询结果输出方式(比如输出网页/更多格式的播放
列表)等。注意本条中的举例仅说明项目系统应有这类扩展性,并不强制要求实现;
7. 项目成员认为有趣或实用的其他功能。
项目要求:
根据题目要求设计并实现所需的功能
1. 设计所需要的数据结构,根据需要定义有用的类(class ),如考虑用什么数据结构存储
视频信息,演员信息等;
2. 实现一个脚本文件(Python 程序文件)main.py,用户执行它便能进入交互界面进行操
作,并能进行简单的查询与分析,这里的“简单”指交互可实现的功能可以不覆盖项目
描述4 中的全部功能的任意组合。实现中应注意网络操作,文件操作,用户错误输入等
等各种可能导致错误的情况,并友善且健壮地处理错误;
3. 实现另一个脚本文件demo.py,展示项目中开发的全部功能,包括类似项目描述4 中的
高级查询,以及所实现的项目描述6 中的扩展范例;
4. 提交作业时,应随程序文件一起提供一个供测试用的本地视频信息库文件。显然,所提
供的demo.py 文件应包含装入这个库的操作。
可以根据情况和需要,把整个系统分别实现为几个模块,以利于系统的开发。
报告的要求:
报告大致可以分为几个部分:
1. 对问题的分析和整体系统的设计概述;
2. 具体的数据结构和程序结构设计;
3. 实现中的关键问题和技术分析;
4. 系统完成的情况和实际效果的说明;
5. 重要算法的时间复杂性分析,并说明自己的程序没有不合理的空间浪费;
6. 完成了这个系统之后的回顾和分析:优点和缺点,改进可能性。
报告可以参考以上结构组织。
附注:
本附录提供一些可能对项目开发有用的信息。
文档评论(0)