python-课程满意度计算(赛氪OJ)

ops/2024/10/21 14:35:49/

[题目描述]
某个班主任对学生们学习的的课程做了一个满意度调查,一共在班级内抽取了 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个,但需要的只是一个。)


运行效果展示:

e20ce8f66af74040b077066435fe1674.jpg

9df3c51154e345dd92391130c2b7e916.jpg 

             (声明:以上内容均为原创)

 


http://www.ppmy.cn/ops/56214.html

相关文章

【数据结构】(C语言):堆(二叉树的应用)

堆&#xff1a; 此处堆为二叉树的应用&#xff0c;不是计算机中用于管理动态内存的堆。形状是完全二叉树。堆分两种&#xff1a;最大堆&#xff0c;最小堆。最大堆&#xff1a;每个节点比子树所有节点的数值都大&#xff0c;根节点为最大值。最小堆&#xff1a;每个节点比子树…

Java中的数据可视化与图表库选择

Java中的数据可视化与图表库选择 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在现代软件开发中&#xff0c;数据可视化是将抽象数据转化为易于理解的图形化…

IC认证介绍

IC认证是什么&#xff1f; IC是加拿大工业部Industry Canada的简称&#xff0c;作为政府机构&#xff0c;负责电子电器产品进入加拿大市场的认证事务。与美国的FCC相似&#xff0c;IC目前只在电磁干扰上做限制。一般规定&#xff1a;仅限制EMI&#xff0c;认证方式也与FCC相同…

【C++报错已解决】Invalid Use of ‘this’ Pointer

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 引言 一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一&#xff1a;修正‘this’指针使用2…

软件架构之计算机网络

软件架构之计算机网络 第 4 章 计算机网络4.1 网络架构与协议4.1.1 网络互联模型4.1.2 常见的网络协议4.1.3 IPv6 4.2 局域网与广域网4.2.2 无线局域网4.2.3 广域网技术4.2.4 网络接入技术 4.3 网络互连与常用设备4.4 网络工程4.4.1 网络规划4.4.2 网络设计4.4.3 网络实施 4.5 …

阿尔泰科技与西安交通大学陕西省某技术重点实验室共谋未来!

近日&#xff0c;阿尔泰科技的电子工程师&#xff08;熊工&#xff09;应邀前往西安交通大学陕西省某技术重点实验室&#xff0c;参与课题组项目的测试与调试工作。此次合作不仅成功推动了项目的进展&#xff0c;还为未来的深入合作奠定了坚实基础。 阿尔泰科技作为领先的测控技…

mybatis用注解替换xml,不再写.xml了

在Service里引用Autowiredprivate DemoMapper demoMapper;下面展示一些 DemoMapper.java代码片。 public interface DemoMapper{/*** 查询页面信息-根据ID*/Select("select * from program where id #{id}")Program getById(Long id);/*** 新增*/Insert({"<…

node-gyp 重新安装,解决编译遇到的问题【超详细图解】

一、报错信息 npm ERR! gyp info it worked if it ends with ok npm ERR! gyp info using node-gyp10.0.1 npm ERR! gyp info using node18.19.0 | darwin | arm64 npm ERR! gyp info find Python using Python version 3.12.2 found at "/opt/homebrew/opt/python3.12/…