python-课程满意度计算(赛氪OJ)
[题目描述]
某个班主任对学生们学习的的课程做了一个满意度调查,一共在班级内抽取了 N 个同学,对本学期的 M 种课程进行满意度调查。他想知道,有多少门课是被所有调查到的同学都喜欢的。
输入格式:
第一行输入两个整数 N , M 。
接下来的 N 行里, 每行的开头有一个整数 A ( 0≤A≤M ),表示这个同学喜欢的课程数量,接下来的 A 个元素表示他所喜欢的课程编号(S≤M ),每个元素之间以空格间隔。
输出格式:
输出一个整数表示答案。
样例输入1
5 5
4 2 3 4 5
4 1 3 4 5
4 1 2 4 5
4 1 2 3 5
4 1 2 3 4
样例输出1
0
样例输入2
3 4
2 1 3
3 1 2 3
2 3 2
样例输出2
1
样例输入3
1 30
3 5 10 30
样例输出3
3
数据范围
对于 100% 的数据,保证 1≤N,M≤1000 。
样例说明:
样例 1,没有一门课被所有同学都喜欢。
样例 2 ,只有 1 门课(编号 3 )被所有同学都喜欢。
来源/分类(难度系数:一星)
完整代码展示:
a,b=map(int,input().split())
c=[]
for i in range(a):
d=list(map(int,input().split()))
d.remove(d[0])
c.append(d)
e=0
f=[]
while e<len(c):
for j in range(0,len(c[e])):
f.append(c[e][j])
e+=1
sum=0
for k in range(0,len(f)):
if f.count(f[k])==a:
sum+=1
print(int(sum/a))
代码解释:
“a,b=map(int,input().split())
c=[] ”,让用户输入抽取的同学数a和课程数b。建立一个空列表c。
“for i in range(a):
d=list(map(int,input().split()))
d.remove(d[0])
c.append(d) ”,让用户输入每位被调查同学的喜欢的课程数量及其课程编号,将其存入列表d中。接着将列表d的第一项d[0]删除后添加进列表c中,形成列表的嵌套结构。(因为原先列表d的第一项d[0]代表的是课程数,不参与计算,因此删除。)
“e=0
f=[]
while e<len(c):
for j in range(0,len(c[e])):
f.append(c[e][j])
e+=1 ”,设置循环密码子为e,并将其初始值设为0。建立一个空列表f。当e<len(c)时,将列表c中的每一个元素(列表)中的元素(数字)添加进列表f中,每循环一次,e+=1;直至e==len(c),跳出整个while循环。(本部分的作用简单来说就是将列表c中所有数字从列表嵌套结构中提取出来放到列表中,便于后面统计同学们都喜欢的课程数。)
“sum=0
for k in range(0,len(f)):
if f.count(f[k])==a:
sum+=1
print(int(sum/a)) ”,令sum为同学们都喜欢的课程数,初始值为0。遍历列表f中的所有元素,并查询列表中同一种元素的数量;如果该种元素数量为a(即同学们都喜欢),sum+=1。直至遍历完列表f中所有元素,循环结束。打印sum除以a的结果(因为一旦一种元素满足条件,则代表它及其它的同种元素在列表f中有a个,但需要的只是一个。)
运行效果展示:

(声明:以上内容均为原创)
相关文章:
python-课程满意度计算(赛氪OJ)
[题目描述] 某个班主任对学生们学习的的课程做了一个满意度调查,一共在班级内抽取了 N 个同学,对本学期的 M 种课程进行满意度调查。他想知道,有多少门课是被所有调查到的同学都喜欢的。输入格式: 第一行输入两个整数 N , M 。 接…...
6、Redis系统-数据结构-05-整数
五、整数集合(Intset) 整数集合是 Redis 中 Set 对象的底层实现之一。当一个 Set 对象只包含整数值元素,并且元素数量不大时,就会使用整数集合这个数据结构作为底层实现。整数集合通过紧凑的内存布局和升级机制,实现了…...
STM32学习历程(day5)
EXTI外部中断 中断 中断就是在主程序运行过程中 出现了特定的中断触发条件(中断源),CPU会暂停当前的程序,去处理中断程序 处理完会返回被暂停的位置 继续运行原来的程序。 中断优先级 当有多个中断源同时申请中断时 CPU会根据…...
格蠹汇编阅读理解
一、调试工具使用方式 WinDbg常用命令: 执行 lm 命令,可以看到进程中有几个模块。执行~命令列一下线程。用!heap 命令列一下堆。执行!address 命令可以列出用户态空间中的所有区域。搜索吧!就从当前进程用户态空间的较低地址开始搜…...
深入探索:scikit-learn中递归特征消除(RFE)的奥秘
深入探索:scikit-learn中递归特征消除(RFE)的奥秘 在机器学习的世界里,特征选择是一项至关重要的任务。它不仅能够提高模型的性能,还能减少模型的复杂度,避免过拟合。scikit-learn,作为Python中一个广泛使用的机器学习…...
240708_昇思学习打卡-Day20-MindNLP ChatGLM-6B StreamChat
240708_昇思学习打卡-Day20-MindNLP ChatGLM-6B StreamChat 基于MindNLP和ChatGLM-6B实现一个聊天应用,本文进行简单记录。 环境配置 %%capture captured_output # 实验环境已经预装了mindspore2.2.14,如需更换mindspore版本,可更改下面mi…...
lua入门(2) - 数据类型
前言 本文参考自: Lua 数据类型 | 菜鸟教程 (runoob.com) 希望详细了解的小伙伴还请查看上方链接: 八个基本类型 type - 函数查看数据类型: 测试程序: print(type("Hello world")) --> string print(type(10.4*3)) --> number print(t…...
dify/api/models/provider.py文件中的数据表
源码位置:dify/api/models/provider.py providers 表结构 字段英文名数据类型字段中文名字备注idStringUUIDIDtenant_idStringUUID租户IDprovider_nameString提供商名称provider_typeString提供商类型encrypted_configText加密配置is_validBoolean是否有效last_us…...
从入门到精通:网络基础详解
前言 在现代社会,网络技术已经成为我们日常生活和工作中不可或缺的一部分。从简单的网页浏览到复杂的分布式系统,网络技术都扮演着至关重要的角色。通过这篇文章,读者将从入门到精通,全面掌握网络编程的理论和实践。 重点摘要 …...
初步理解三__《面向互联网大数据的威胁情报 并行挖掘技术研究》
初步理解三 5类战术标签 gtp 收集开源的网络安全报告并将其转化为统一的文本格式,并且标注了5类战术标签是一个涉及到数据处理和分类的复杂任务。以下是一种可能的处理方法: 数据收集和整合: 使用网络爬虫或API访问工具收集开源的网络安全…...
【C++修行之道】string类的使用
目录 一.C语言中的字符串 二、标准库中的string类 (了解) 2.1 string类(了解) 2.2 帮助文档阅读 三、 string类的常用接口说明 3.1 string类对象的常见构造 3.2 string类对象的容量操作 3.3 string类对象的访问及遍历操作 字符串类的简单实现 3.4 string类对象的修改…...
云原生监控-Kubernetes-Promethues-Grafana
云原生监控-Prometheus 作者:行癫(盗版必究) 引读:本文章所涉及到技术点包括Prometheus、Grafana、Kuebrnetes;Prometheus基于外部构建采集并监控Kubernetes集群以及集群中的应用,例如使用mysql-node-exporter、nginx-node-exporter采集Kuebrnetes集群中的应用数据,使用…...
MySQL高级----InnoDB引擎
逻辑存储结构 表空间 表空间(ibd文件),一个mysql实例可以对应多个表空间,用于存储记录、索引等数据。 段 段,分为数据段(Leaf node segment)、索引段(Non-leaf node segment)、回滚段(Rollback segment),InnoDB是…...
Docker定时清理
一、循环调度执行 1、检查cron状态 systemctl status crond 2、创建要执行的shell脚本 vim /home/cleanup_docker.sh #! /bin/bash # 清理临时文件 echo $(date "%H:%M:%S") "执行docker清理命令..." docker system prune -af-a 清理包括未使用的镜像 …...
mysql之导入测试数据
运维时经常要这样:mysql改表名,创建一个一样的表不含数据,复制旧表几条数据进去 改变表的名字: RENAME TABLE old_table_name TO new_table_name; 这将把原来的表old_table_name重命名为new_table_name。 创建一个一样的表结构…...
WPScan漏洞扫描工具的介绍及使用
目录 1. 介绍2. 常用参数 1. 介绍 WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主题漏洞,最新版本WPScan的数据库中包含超过18…...
基于单片机的饲料搅拌机控制系统设计
摘要 : 文章主要从软件和硬件两个部分对基于单片机的饲料搅拌机控制系统进行研究设计 。 硬件部分主要由传感器模块 、 信号采集模块、 键盘接入模块 、 LED 显示模块 、 继电器模块以及看门狗模块组成 。 软件部分在 KeilC51 软件基础上重点对控制系统主程序 、…...
Mysql笔记-v2
零、 help、\h、? 调出帮助 mysql> \hFor information about MySQL products and services, visit:http://www.mysql.com/ For developer information, including the MySQL Reference Manual, visit:http://dev.mysql.com/ To buy MySQL Enterprise support, training, …...
Java SpringBoot MongoPlus 使用MyBatisPlus的方式,优雅的操作MongoDB
Java SpringBoot MongoPlus 使用MyBatisPlus的方式,优雅的操作MongoDB 介绍特性安装新建SpringBoot工程引入依赖配置文件 使用新建实体类创建Service测试类进行测试新增方法查询方法 官方网站获取本项目案例代码 介绍 Mongo-Plus(简称 MP)是一…...
【易捷海购-注册安全分析报告】
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…...
手把手教你用Ollama命令搭建个人AI助手:从拉取Llama 3到定制化部署
从零构建智能对话引擎:Ollama与Llama 3的深度实践指南 在人工智能技术日益普及的今天,拥有一个个性化的AI助手已成为许多开发者和技术爱好者的追求。不同于云端服务的黑箱操作,本地部署的AI模型能提供更高的隐私保护和定制自由度。本文将带你…...
COMSOL 6.1 激光粉末床熔融气孔缺陷演化仿真:开启微观世界的探索之旅
COMSOL 6.1 激光粉末床熔融气孔缺陷演化仿真案例模型 本案例选用层流和流体传热模块,采用水平集法,考虑材料的热物性以及激光加工过程中的马兰戈尼效应、熔融金属表面张力、反冲压力、相变潜热、热对流和热辐射,建立含气孔缺陷的二维数值仿真…...
ResNet50人脸重建作品集:cv_resnet50_face-reconstruction在艺术创作中的人脸风格迁移底图生成
ResNet50人脸重建作品集:cv_resnet50_face-reconstruction在艺术创作中的人脸风格迁移底图生成 1. 项目介绍与核心价值 cv_resnet50_face-reconstruction 是一个基于ResNet50架构的人脸重建项目,专门为艺术创作和设计工作提供高质量的人脸底图生成服务…...
SystemVerilog实战:在Vivado 2023.1中实现跨文件clog2计算的3种方法
SystemVerilog实战:在Vivado 2023.1中实现跨文件clog2计算的3种方法 当我们将传统Verilog项目迁移到SystemVerilog环境时,经常会遇到$clog2函数的兼容性问题。这个看似简单的对数计算函数,在不同工具链和文件类型中的表现可能大相径庭。特别是…...
OpenAI最新研究:为什么过程监督比结果监督更有效?手把手解析PRM800K数据集
OpenAI过程监督革命:PRM800K数据集如何重塑大模型对齐范式 数学解题过程中,大语言模型常常会犯下令人啼笑皆非的逻辑错误——得出正确答案却使用了完全错误的推理路径。这种现象在GPT-4等顶尖模型中依然存在,就像学生在考试中"蒙对"…...
VSCode插件离线安装的隐藏技巧:如何批量安装.vsix文件提升效率
VSCode插件离线批量安装实战指南:企业级效率提升方案 在团队协作或企业内网环境中,开发者常面临VSCode插件安装的困境——无法访问官方市场、重复下载耗时、版本管理混乱。传统单个.vsix文件安装方式在需要部署数十个插件时,效率低下到令人抓…...
保姆级教程:用YOLOv5和ReID搞定跨摄像头找人(附完整代码和预训练模型)
跨摄像头人物追踪实战:YOLOv5与ReID技术深度整合指南 在智能安防、零售分析等场景中,跨摄像头追踪特定人物一直是个技术难点。传统方案要么依赖单一摄像头的目标检测,要么需要复杂的人工特征标注。本文将手把手带您实现一套基于YOLOv5目标检测…...
从FPGA到ASIC:实战中如何为你的IP核选择合适的Wishbone互联拓扑?
从FPGA到ASIC:实战中如何为你的IP核选择合适的Wishbone互联拓扑? 在复杂SoC设计中,总线架构的选择往往决定了系统性能的上限。Wishbone作为轻量级片上总线协议,其灵活的互联拓扑为工程师提供了四种截然不同的设计范式:…...
DriveVLA-W0:世界模型在自动驾驶中放大数据规模定律【在动作信号的基础上增加视觉自监督信号可增强VLA效果(扩散世界模型、自回归世界模型效果都不错,图4显示扩散策略稍好一些)】
第001/22页(英文原文) DRIVEVLA-W0: WORLD MODELS AMPLIFY DATA SCALING LAW IN AUTONOMOUS DRIVING Yingyan Li1∗ Shuyao Shang1∗ Weisong Liu1∗ Bing Zhan1∗ Haochen Wang1∗ Yuqi Wang1 Yuntao Chen1 Xiaoman Wang2 Yasong An2 Chufeng Tang2 Lu Hou2 Lue Fan1B Zh…...
单片机死循环设计与中断机制解析
1. 单片机程序为何需要死循环设计第一次接触单片机编程时,很多初学者都会对main()函数里那个看似"不合理"的while(1)死循环产生疑问。我当年在实验室调试第一个51单片机项目时,也曾向导师提出过同样的问题。经过这些年的项目实践,我…...
