大学排名没有绝对的公正与权威,文件(alumni.txt, soft.txt)中为按照不同评价体系给出的国内大学前100名排行,对比两个排行榜单前m的学校的上榜情况,分析不同排行榜排名的差异。

输入输出

  1. 第一行输入1,第二行输入m,输出在alumni.txtsoft.txt榜单中均在前m个记录的大学,按照学校名称升序。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

  2. 第一行输入2,第二行输入m,输出在alumni.txt或者soft.txt榜单中前m个记录的所有大学,按照学校名称升序。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

  3. 第一行输入3,第二行输入m,输出出现在榜单alumni.txt中前m个记录但未出现在榜单soft.txtm个记录中的大学,按照学校名称升序。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

  4. 第一行输入4,第二行输入m,输出没有同时出现在榜单alumni.txtm个记录和榜单soft.txtm个记录的大学,按照学校名称升序。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

  5. 第一行输入其他数据,则直接输出Wrong Option

编程要求

根据提示,在右侧编辑器补充代码,分析并输出相应的排名。

测试说明

平台会对你编写的代码进行测试:

测试输入:

  1. 1
  2. 10

预期输出:

  1. 两榜单中均名列前10的学校:
  2. ['上海交通大学', '**大学', '**大学', '**大学', '**大学', '**大学', '**大学', '**大学', '**大学', '**大学']

代码如下:

def read_file(file, m):"""读文件中的学校名到列表中,返回排名前m学校集合"""########## Begin ##########f = open(file, 'r',encoding='utf-8')line1=[]for i in range(m):line=f.readline().strip("\n")line1.append(line.split()[1])#把学校添加列表return line1########## End ##########def either_in_top(alumni, soft):"""接收两个排行榜前m高校名字集合,获得在这两个排行榜中均名列前m的学校名,按照学校名称排序,返回排序后的列表"""########## Begin ##########list2 = []for i in range(len(alumni)):if alumni[i] in soft:  # 如果同时在两个表中都有这个学校list2.append(alumni[i])list2.sort()  # 升序排序return list2########## End ##########def all_in_top(alumni, soft):"""接收两个排行榜前m高校名字集合,获得在两个榜单中名列前m的所有学校名,按照学校名称排序,返回排序后的列表"""########## Begin ##########list3 = []list3.extend(alumni)  # 列表合并alumnilist3.extend(soft)  # 列表合并softlist3 = list(set(list3))  # 列表去重list3.sort()  # 升序排序return list3########## End ##########def only_alumni(alumni, soft):"""接收两个排行榜前10高校名字集合,获得在alumni榜单中名列前10但soft榜单中未进前10的学校名,按照学校名称排序,返回排序后的列表"""########## Begin ##########list4 = []for i in range(len(alumni)):if alumni[i] in soft:continueelse:list4.append(alumni[i])  # 如果在alumni榜单中名列前m但soft榜单中未进前m的学校名list4.sort()  # 升序排序return list4########## End ##########def only_once(alumni, soft):"""接收两个排行榜前10高校名字集合,获得在alumni和soft榜单中名列前10,但不同时出现在两个榜单的学校名,按照学校名称排序,返回排序后的列表"""########## Begin ##########list5 = []for i in range(len(alumni)):if alumni[i] in soft:continueelse:list5.append(alumni[i])  # 如果在alumni榜单中名列前m但soft榜单中未进前m的学校名for i in range(len(soft)):if soft[i] in alumni:continueelse:list5.append(soft[i])  # 如果在soft榜单中名列前m但alumni榜单中未进前m的学校名list5.sort()  # 升序排序return list5########## End ##########def select_first(n):"""接收一个字符判断这个字符是否属于 1234 中的一个字符,如果不是则输出 Wrong Option如果是,则调用 select_again() 函数"""########## Begin ##########if n in '1234':select_again(n)else:print('Wrong Option')########## End ##########def select_again(n):m = int(input())alumni_set = read_file('step1/alumni.txt', m)soft_set = read_file('step1/soft.txt', m)"""接收一个字符按左侧 任务要求->问题描述->输入输出 的规则判断 n ,并吊用上面定义的相应的函数按左侧 任务要求->测试说明->预期输出 的样例进行输出"""########## Begin ##########if n == '1':either_rank = either_in_top(alumni_set, soft_set)print(f'两榜单中均名列前{m}的学校:')print(either_rank)elif n == '2':all_rank = all_in_top(alumni_set, soft_set)print(f'两榜单名列前{m}的所有学校:')print(all_rank)elif n == '3':only_in_alumni_rank = only_alumni(alumni_set, soft_set)print(f'alumni中名列前{m},soft中未进前{m}的学校:')print(only_in_alumni_rank)elif n == '4':alumni_soft_rank = only_once(alumni_set, soft_set)print(f'不同时出现在两个榜单前{m}的学校:')print(alumni_soft_rank)########## End ##########if __name__ == '__main__':n = input()select_first(n)

7.1 大学排行榜分析(project)相关推荐

  1. 有python专业的世界大学_大数据时代专业怎么选?2018年QS世界大学商业分析硕士专业排名...

    导读:最新2018年QS世界大学商业分析硕士专业排名对全球各所大学商业分析专业做出综合评价,最终45所大学上榜. 商业分析专业Business Analysis到底学哪些科目?就业方向如何?作为商科专 ...

  2. 计算机专业大学综合实力排名2015,2015年世界计算机专业大学排行榜

    2015年世界计算机专业大学排行榜 计算机专业是指计算机硬件与软件相结合.面向系统.侧重应用的.宽口径专业.通过基础教学与专业训练,培养基础知识扎实.知识面宽.工程实践能力强,具有开拓创新意识,在计算 ...

  3. 2016年QS亚洲大学排行榜

    2016年QS亚洲大学排行榜 人民网北京6月14日电 (记者 郝孟佳)今天,全球高等教育分析机构QS全球教育集团发布了2016年QS亚洲大学排名.清华大学在亚洲20强大学中进步最大,比去年提升6名,上 ...

  4. ESI计算机排名2021年01月,喜忧参半!2021年5月ESI世界大学排行榜,21个学科排名数据分析!...

    原标题:喜忧参半!2021年5月ESI世界大学排行榜,21个学科排名数据分析! 2021年5月13日,科睿唯安发布了<2021年5月ESI中国高校排行榜>. 一.计算机科学专业 1.清华大 ...

  5. AI一分钟 | 比特大陆递交招股书,募资用于AI芯片研发;泰晤士2019全球大学排行榜:清华列亚洲第一...

    ▌比特大陆递交招股书,募资用于 AI 芯片研发 9 月 26 日晚,比特大陆于香港联交所上载 A1 招股书,启动上市计划.中金为独家保荐人,搜狗创始人王小川担任其独立非执行董事.在招股书中,比特大陆称 ...

  6. 双非山东科技胜过吉大,湖南大学超哈工大,US News2022世界大学排行榜引热议...

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 作为&q ...

  7. 重磅:USNews2021世界大学排行榜出炉!清华首登亚洲第一

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 整理:公众号@科研大匠 本文仅做学术分享,如有侵权,请联系删除. 10月20日,USNews发布202 ...

  8. 最新!QS发布2021亚洲大学排行榜!清华第二,浙大、复旦力压北大

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要5分钟 Follow小博主,每天更新前沿干货 11月25日,2021QS亚洲大学排名出炉! 今年的亚洲顶级大学排名包括650所大学,这也是QS ...

  9. 最新中国大学排行榜:北大清华浙大竞争力列前三

    http://tech.tom.com 2006年05月15日 07时22分来源:中国青年报 本报北京5月14日电(记者李涛)中国科学评价研究中心今天发布了一系列最新的中国大学排行榜.在重点大学综合 ...

  10. 计算机院校人气排名,2019高校人气排行榜_最具人气大学排行榜7月榜单发布 清华大学排第一...

    最具人气大学排行榜7月榜单发布 清华大学排第一 JPG,395x289,231KB,342_249 大学人气排行榜 你的大学上榜了吗 JPG,392x290,231KB,337_250 大学人气排行榜 ...

最新文章

  1. java报数编码,报数选队长代码 - 奇鸢iceDomain的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. 想学python有什么用-我们为什么要选择学习python?学习python有什么用?
  3. HackerRank Gift Boxes(hash)
  4. 查看字符集 oracle
  5. 数字图像处理:第四章 点运算
  6. 编译安装php的openssl组件时遇到 libssl not found解决办法
  7. 阿里云Quick BI——让人人都成为分析师
  8. 【Python】Python3.7.3 - sys.flag 命令行选项标志结构序列
  9. 通向财务自由之路08_入市或市场时机选择
  10. Delphi 与 DirectX 之 DelphiX(15): TPictureCollectionItem.DrawWaveX、DrawWaveY ...
  11. 第13章 集成学习和随机森林 学习笔记中 oob
  12. 广度优先遍历(Breadth First Search)
  13. poi实现Excel文件导出【SpringBoot篇】
  14. QComboBox 仅在展开时显示图标
  15. html文件导入奥维,【干货】奥维地图 | 如何导入高程数据
  16. 【005】基于Vue.js及相关插件的仿微博移动版的单页应用(SPA)项目(含源码、运行教程)
  17. 华为双系统手机可以刷成单系统_华为手机双系统,1部手机能当2部用,打开3秒就能切换,真厉害...
  18. 电脑桌面老是弹出计算机,电脑桌面老是弹出游戏怎么解决
  19. Java实现伪造邮件发信人
  20. 修复typec otg数据线

热门文章

  1. 基于java的聊天工具_[源码和文档分享]基于java 的仿QQ聊天工具
  2. 问题排查---External Libraries中没有Maven的jar包的原因(已解决)
  3. 今晚19点,《开放式耳机OWS的设计和调试探讨》公益讲座开讲!
  4. 科技论文写作工具及简介
  5. JPMorgan最近在区块链做的事—揭秘JPM Coin
  6. B. Lunatic Never Content
  7. 【lssvm预测】基于飞蛾扑火算法改进的最小二乘支持向量机lssvm预测matlab源码
  8. 浙政钉2.0应用上架流程说明
  9. 茶觉 | 林先生的“突破”
  10. 阿里云存储和用户认证(预约挂号项目第九部分)