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个,但需要的只是一个。)

++运行效果展示:++

++++

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

相关推荐
MadPrinter19 分钟前
Python 异步爬虫实战:FindQC 商品数据爬取系统完整教程
爬虫·python·算法·自动化
清水白石00819 分钟前
Python 函数式编程实战:从零构建函数组合系统
开发语言·python
郝学胜-神的一滴22 分钟前
Effective Modern C++ 条款36:如果有异步的必要请指定std::launch::async
开发语言·数据结构·c++·算法
小此方24 分钟前
Re:从零开始的 C++ STL篇(六)一篇文章彻底掌握C++stack&queue&deque&priority_queue
开发语言·数据结构·c++·算法·stl
回敲代码的猴子38 分钟前
2月15日打卡
数据结构·算法
喵手1 小时前
Python爬虫实战:数据质量治理实战 - 构建企业级规则引擎与异常检测系统!
爬虫·python·爬虫实战·异常检测·零基础python爬虫教学·数据质量治理·企业级规则引擎
头发够用的程序员1 小时前
Python 魔法方法 vs C++ 运算符重载全方位深度对比
开发语言·c++·python
加成BUFF1 小时前
基于DeepSeek+Python开发软件并打包为exe(VSCode+Anaconda Prompt实操)
vscode·python·prompt·conda·anaconda
小亮✿2 小时前
二叉树OJ做题报告
数据结构·算法·做题报告
52Hz1182 小时前
力扣46.全排列、78.子集、17.电话号码的字母组合
python·leetcode