找出选修了所有课程的学生

【问题描述】现有保存在字典中的选修课名单如下course={"茶艺":{'王朋','黄立明','任诗诗'},"摄影":{'刘山彬','张红','李珂','黄立明','王朋'},"广告设计":{'任诗诗','黄立明','刘山彬'}},假设所有学生姓名都不同,请输出选修了所有选修课的同学名单。0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

找出选修了所有课程的学生输出结果:0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

{'黄立明'}0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【题前思考】0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

根据问题描述,填写表4-3-5。0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

表4-3-5 问题分析0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

找出选修了所有课程的学生0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【解题思路】0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

每一门选修课信息包含课程名称和学生名单两项信息{课程:××,××,××},可以使用字典来存储选修课信息,字典的键是课程名称,值是学生名单,因为学生姓名不重复,因此可以使用集合来保存选修课的学生名单。选修了所有课程的学生名单,其实就是所有课程选修名单的交集。0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【程序代码】0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

找出选修了所有课程的学生0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【代码分析】0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

①:course存放的是三门课程的信息,如图4-3-2所示。0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

找出选修了所有课程的学生0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

图4-3-2 course字典信息0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

②:将字典的第一个key(键)的values(值)加入列表res中,即将选择了茶艺的学生名单保存在变量res中。其目的是与后面选修了其他课程的学生信息做交运算。0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

③:对每一个课程的选修课名单执行循环体中的操作。0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

④:取res与a的交集作为res的值。res的运算过程见表4-3-6。0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

表4-3-6 res的运算过程0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

找出选修了所有课程的学生0qR100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

关 键 词

选修

相关教程

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!

猜你喜欢