当前位置: 首页 > news >正文

7.1 大学排行榜分析(project)

 大学排名没有绝对的公正与权威,文件(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)

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

TensorFlow 2.0 的新增功能:第三、四部分

原文:What’s New in TensorFlow 2.0 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 深度学习 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 不要担心自己的形象,只关心如何实现目…...

第1章 如何听起来像数据科学家

第1章 如何听起来像数据科学家 文章目录 第1章 如何听起来像数据科学家1.1.1 基本的专业术语1.1.3 案例:西格玛公司1.2.3 为什么是Python1.4.2 案例:市场营销费用1.4.3 案例:数据科学家的岗位描述 我们拥有如此多的数据,而且正在生…...

哈希表题目:在系统中查找重复文件

文章目录 题目标题和出处难度题目描述要求示例数据范围进阶 解法思路和算法代码复杂度分析 进阶问题答案后记 题目 标题和出处 标题:在系统中查找重复文件 出处:609. 在系统中查找重复文件 难度 6 级 题目描述 要求 给定一个目录信息列表 paths…...

机器人感知与控制关键技术及其智能制造应用

源自:自动化学报 作者:王耀南 江一鸣 姜娇 张辉 谭浩然 彭伟星 吴昊天 曾凯 摘 要 智能机器人在服务国家重大需求, 引领国民经济发展和保障国防安全中起到重要作用, 被誉为“制造业皇冠顶端的明珠”. 随着新一轮工业革命的到来, 世界主要工业国…...

精通线程池,看这一篇就够了

一:什么是线程池 当我们运用多线程技术处理任务时,需要不断通过new的方式创建线程,这样频繁创建和销毁线程,会造成cpu消耗过多。那么有没有什么办法避免频繁创建线程呢? 当然有,和我们以前学习过多连接池技术类似&…...

解决图片、视频地址加密问题

const getImgUrl async () > {const imgUrl 远程链接地址const response await fetch(imgUrl)//取出blob二进制const blob await response.blob()//url转为类似blob:http://localhost:9587/cf3265b9-75eb-4722-8e11-5048dec2564d//赋值给需要展示的地方const url URL.c…...

GPT引领学习之旅:一篇让程序员轻松掌握Elasticsearch的攻略

一、引言 随着大数据技术的飞速发展,程序员们面临着越来越多的挑战。Elasticsearch作为一款流行的开源搜索和分析引擎,已成为许多项目的重要组成部分。那么如何高效地学习并掌握Elasticsearch呢?在这篇文章中,我们将探讨如何运用…...

23种设计模式-仲裁者模式(Android应用场景介绍)

仲裁者模式是一种行为设计模式,它允许将对象间的通信集中到一个中介对象中,以减少对象之间的耦合度。本文将通过Java语言实现仲裁者模式,并介绍如何在安卓开发中使用该模式。 实现仲裁者模式 我们将使用一个简单的例子来说明仲裁者模式的实…...

【数据统计】— 极大似然估计 MLE、最大后验估计 MAP、贝叶斯估计

【数据统计】— 极大似然估计 MLE、最大后验估计 MAP、贝叶斯估计 极大似然估计、最大后验概率估计(MAP),贝叶斯估计极大似然估计(Maximum Likelihood Estimate,MLE)MLE目标例子: 扔硬币极大似然估计—高斯分布的参数 矩估计 vs LSE vs MLE贝叶斯公式&am…...

Zookeeper学习笔记

Zookeeper入门 Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的Apache 项目。 Zookeeper工作机制 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据&#xff0c…...

go语言切片做函数参数传递+append()函数扩容

go语言切片函数参数传递append()函数扩容 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 二叉树递归go代码: var ans [][]int func pathSum(root *TreeNode, targetSum int) ( [][…...

2023.04.16 学习周报

文章目录 摘要文献阅读1.题目2.摘要3.简介4.Dual-Stage Attention-Based RNN4.1 问题定义4.2 模型4.2.1 Encoder with input attention4.2.2 Decoder with temporal attention4.2.3 Training procedure 5.实验5.1 数据集5.2 参数设置和评价指标5.3 实验结果 6.结论 MDS降维算法…...

【面试】如何设计SaaS产品的数据权限?

文章目录 前言数据权限是什么?设计原则整体方案RBAC模型怎么控制数据权限?1. 数据范围权限控制2. 业务对象操作权限控制3. 业务对象字段权限控制 总结 前言 一套系统的权限可以分为两类,数据权限和功能权限,今天我们从以下几个点…...

ansible管理变量

ansible变量简介 变量用于存储值,便于重复使用,可以简化项目的创建和维护。 变量命令规则 ansible变量的名称必须以字母开头,平且只能包含字母、数字和下划线,不允许有其他特殊字符。 变量范围 全局范围:从命令行…...

一种轻量级日志采集解决方案

前言 目前各大公司生产部署很多都是采用的集群微服务的部署方式,如果让日志散落在各个主机上,查询起来会非常的困难,所以目前我了解到的都是采用的日志中心来统一收集管控日志,日志中心的实现方案大多基于ELK(即Elasticsearch、L…...

【源码】Spring Cloud Gateway 是在哪里匹配路由的?

我们知道,经过网关的业务请求会被路由到后端真实的业务服务上去,假如我们使用的是Spring Cloud Gateway,那么你知道Spring Cloud Gateway是在哪一步去匹配路由的吗? 源码之下无秘密,让我们一起从源码中寻找答案。 入…...

BAT批处理基本命令

什么是 BAT 批处理脚本语言? BAT 批处理脚本语言是 Windows 系统自带的一种脚本语言,主要用于批量处理文件、目录、注册表、系统设置等任务。使用 BAT 批处理脚本语言可以节省大量手动操作的时间和精力。 如何编写 BAT 批处理脚本? 使用记事本…...

Python数组仿射变换

文章目录 仿射变换坐标变换的逻辑scipy实现 仿射变换 前面提到的平移、旋转以及缩放,都可以通过一个变换矩阵来实现,以二维空间中的变换矩阵为例,记点的坐标向量为 ( x , y , 1 ) (x,y,1) (x,y,1),则平移矩阵可表示为 [ 1 0 T x …...

“==“和equals方法究竟有什么区别?

操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用操作符。 如果一个变量指向的数据是对象类型的,那么,这时候…...

Vivado里SRIO IP核Basic模式配置详解:从链路宽度到Buffer深度,新手避坑指南

Vivado中SRIO IP核Basic模式配置全解析:从参数理解到实战避坑 第一次在Vivado中配置SRIO IP核时,面对密密麻麻的参数选项,大多数工程师都会感到无从下手。作为Xilinx FPGA中实现高速串行通信的关键IP,SRIO(Serial Rap…...

Windows 11 零基础搞定 Coze Studio 本地部署:Docker 配置 + 豆包模型实战

Windows 11 零基础搞定 Coze Studio 本地部署:Docker 配置 豆包模型实战 1. 环境准备与Docker安装 对于Windows 11用户来说,Docker是运行Coze Studio的基础环境。与Linux或macOS不同,Windows平台需要特别注意虚拟化支持和镜像源配置。 硬…...

BGP路由优化实战:加速收敛,提升网络稳定性

BGP路由优化实战:加速收敛,提升网络稳定性在复杂的网络环境中,尤其是在大规模数据中心或跨区域互联的网络中,BGP(Border Gateway Protocol)路由协议的性能直接影响着网络的可用性和用户体验。BGP 作为互联网…...

别再复制粘贴官方文档了!用Python调用通义千问API的3个实战项目(含完整代码)

用Python玩转通义千问API:3个实战项目带你进阶 在掌握了基础API调用后,很多开发者会陷入"文档复制粘贴"的困境——知道怎么调用接口,却不知道如何将其融入实际项目。本文将带你突破这一瓶颈,通过三个完整的实战项目&…...

Shell脚本实战指南:从零基础到自动化高手

1. Shell脚本入门:从Hello World到实战 第一次接触Shell脚本时,我和大多数人一样,被那些神秘的符号和命令搞得一头雾水。直到我意识到,Shell脚本其实就是把平时在终端里手动输入的命令,写进一个文件里自动执行。举个例…...

如何快速配置AdGuard广告拦截扩展:5分钟完成跨浏览器隐私保护的完整教程

如何快速配置AdGuard广告拦截扩展:5分钟完成跨浏览器隐私保护的完整教程 【免费下载链接】AdguardBrowserExtension AdGuard browser extension 项目地址: https://gitcode.com/gh_mirrors/ad/AdguardBrowserExtension AdGuard浏览器扩展是一款开源、高效的广…...

MPO光纤跳线:从结构解析到数据中心高密度布线实战

1. MPO光纤跳线:高密度布线的秘密武器 第一次接触MPO光纤跳线时,我被它的"小身材大容量"震惊了。这个看起来和普通SC连接器差不多大小的家伙,居然能塞下12根甚至24根光纤!这就像在普通U盘大小的空间里装下了整个移动硬盘…...

【AI黑话日日新】什么是采样温度?

摘要 在大语言模型自回归文本生成链路中,采样温度是调控输出随机性、逻辑性与创造力的核心超参数。它依托玻尔兹曼分布思想缩放模型原始Logits向量,重塑Token概率分布形态,直接决定推理阶段的内容风格。本文从数学本质、分布映射、分层效果、关联采样策略、代码实战及业务调…...

Windows平台APK安装架构革命:从模拟器到原生集成的技术演进

Windows平台APK安装架构革命:从模拟器到原生集成的技术演进 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 当移动生态与桌面系统相遇,技术融合…...

双目视觉实战:从标定参数到深度图的完整OpenCV实现指南

双目视觉实战:从标定参数到深度图的完整OpenCV实现指南 在计算机视觉领域,双目立体视觉一直是获取三维环境信息的重要技术手段。与激光雷达等主动传感器相比,基于双相机的立体视觉系统具有成本低、数据丰富、易于部署等优势。本文将深入探讨如…...