python-班级人员信息统计
输入a,b班的名单,并进行如下统计。
输入格式:
第1行::a班名单,一串字符串,每个字符代表一个学生,无空格,可能有重复字符。
第2行::b班名单,一串字符串,每个学生名称以1个或多个空格分隔,可能有重复学生。
第3行::参加acm竞赛的学生,一串字符串,每个学生名称以1个或多个空格分隔。
第4行:参加英语竞赛的学生,一串字符串,每个学生名称以1个或多个空格分隔。
第5行:转学的人(只有1个人)。
输出格式
特别注意:输出人员名单的时候需调用sorted函数,如集合为x,则print(sorted(x))
输出两个班级的所有人员数量
输出两个班级中既没有参加ACM,也没有参加English的名单和数量
输出所有参加竞赛的人员的名单和数量
输出既参加了ACM,又参加了英语竞赛的所有人员及数量
输出参加了ACM,未参加英语竞赛的所有人员名单
输出参加英语竞赛,未参加ACM的所有人员名单
输出参加只参加ACM或只参加英语竞赛的人员名单
最后一行:一个同学要转学,首先需要判断该学生在哪个班级,然后更新该班级名单,并输出。如果没有在任何一班级,什么也不做。
输入样例:
abcdefghijab
1 2 3 4 5 6 7 8 9 10
1 2 3 a b c
1 5 10 a d e f
a
输出样例:
Total: 20
Not in race: ['4', '6', '7', '8', '9', 'g', 'h', 'i', 'j'], num: 9
All racers: ['1', '10', '2', '3', '5', 'a', 'b', 'c', 'd', 'e', 'f'], num: 11
ACM + English: ['1', 'a'], num: 2
Only ACM: ['2', '3', 'b', 'c']
Only English: ['10', '5', 'd', 'e', 'f']
ACM Or English: ['10', '2', '3', '5', 'b', 'c', 'd', 'e', 'f']
['b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
代码:
a = input()
b = input()
acm = input()
eng = input()
transfer = input()
a_class = list(set(a))
a_num = len(a_class)
b_class = b.split(" ")
acm_class = acm.split(" ")
eng_class = eng.split(" ")
for i in b_class[::]:
if i == '':
b_class.remove(i) for i in acm_class[::]:
if i == '':
acm_class.remove(i) for i in eng_class[::]:
if i == '':
eng_class.remove(i) b_num = len(b_class)
a_b = a_class + b_class
print("Total: %d" % (a_num + b_num))
not_in_race = list(set(a_b).difference(acm_class, eng_class))
All_racers = list(set(acm_class + eng_class))
ACM_English = list(set(acm_class).intersection(set(eng_class)))
Only_ACM = list(set(acm_class).difference(set(eng_class)))
Only_English = list(set(eng_class).difference(set(acm_class)))
ACM_Or_English = list(set(Only_ACM).union(set(Only_English)))
print("Not in race: {0}, num: {1}".format(sorted(not_in_race), len(not_in_race)))
print("All racers: {0}, num: {1}".format(sorted(All_racers), len(All_racers)))
print("ACM + English: {0}, num: {1}".format(sorted(ACM_English), len(ACM_English)))
print("Only ACM: {0}".format(sorted(Only_ACM)))
print("Only English: {0}".format(sorted(Only_English)))
print("ACM Or English: {0}".format(sorted(ACM_Or_English)))
if transfer in a_class:
a_class.remove(transfer)
print(sorted(a_class))
elif transfer in b_class:
b_class.remove(transfer)
print(sorted(b_class))
python-班级人员信息统计的更多相关文章
- Python开发人员指南
本指南是一个全面的资源贡献 给Python的 -为新的和经验丰富的贡献者.这是 保持由维护的Python同一社区.我们欢迎您对Python的贡献! 快速参考 这是设置和添加补丁所需的基本步骤.了解基础 ...
- 为什么我建议每个开发人员都需要学Python?
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://dzone.com/articles/10-reasons-why-every-d ...
- Python题集:2019春Python程序设计选修课习题笔记
一.判断题: 1-1.在Python 3.x中可以使用中文作为变量名. 答案:√ 1-2.Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型. 答案:× 1-3.Python ...
- 2019春Python程序设计练习3(0402--0408)
1-1 如a是一个列表,且a[:]与a[::-1]相等,则a中元素按顺序排列构成一个回文. (2分) T F 1-3 表达式 {1, 3, 2} > {1, 2, 3} 的值为T ...
- PEP 8 - Python代码样式指南
PEP 8 - Python代码样式指南 PEP: 8 标题: Python代码风格指南 作者: Guido van Rossum <python.org上的guido>,Barry Wa ...
- Python 开发版本指导与资源
Python 文档:https://docs.python.org/3/ 下载 下载这些文件 文档版本 Python 3.9(开发中) Python 3.8(稳定) Python 3.7(稳定) Py ...
- python为什么这么火?里面肯定是有原因的
因为人生苦短要用python啊! 看完本文,你将在结尾得到本文的一个福利彩蛋 你瞧瞧其他语言之父... Java之父——James Gosling PHP之父 ——Rasmus Lerdorf Obj ...
- Python黑帽编程 2.0 第二章概述
Python黑帽编程 2.0 第二章概述 于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣,1991年首次发布,是ABC语言的继承,同时也是一 ...
- Python 程序员经常犯的 10 个错误
关于PythonPython是一种解释性.面向对象并具有动态语义的高级程序语言.它内建了高级的数据结构,结合了动态类型和动态绑定的优点,这使得... 关于Python Python是一种解释性.面向对 ...
随机推荐
- WPF优秀组件推荐之Stylet(一)
一.简介 Stylet是基于WPF的一款MVVM组件,虽然WPF本身是自带MVVM功能的,但实现起来不是很方便 ,通过Stylet,用户可以用很少的代码就能享受MVVM带来的舒适体验. 目前Style ...
- 三、Java入门
Java入门 Java的特性和优势 特性 简单 面对对象 可移植性 优势 性能高 分布式(跨平台:Write Once .Run Anywhere) 动态性(反射) 多线程 ...
- Vue 源码解读(11)—— render helper
前言 上一篇文章 Vue 源码解读(10)-- 编译器 之 生成渲染函数 最后讲到组件更新时,需要先执行编译器生成的渲染函数得到组件的 vnode. 渲染函数之所以能生成 vnode 是通过其中的 _ ...
- 01-Servlet 回顾
通过url访问资源有三个步骤: 接收请求 处理请求 响应请求 web服务器:将某个主机上的资源映射为一个URL供外界访问,完成接收和响应请求 servlet容器:存放着servlet对象(由程序员编程 ...
- java中的异常(Exception)
基本概念 将程序执行中发生的不正常的情况称为"异常".开发中的语法错误和逻辑错误不是异常 执行过程中的异常事件可分为两大类 错误(Error):Java虚拟机无法解决的严重问题.例 ...
- php在windows上安装kafka扩展
一.下载kafka扩展包 链接:https://pecl.php.net/package/rdkafka 二.解压安装包 三.修改php.ini 复制librdkafka.dll 到php\php7. ...
- jmeter(二十八)利用beanshell进行多重断言
在接口测试中,我们对返回结果的正确性判断一般是基于响应报文的返回内容进行断言.但有些时候,按照正常的业务逻辑来说,一个请求返回的内容是多种不同的. 比如:用户注册功能,注册成功是正常的返回messag ...
- 快速整明白Redis中的字典到底是个啥
字典简介 字典是一种用于保存键值对的数据结构,可以通过键值对中的键快速地查找到对应的值.在Redis所使用的C语言中,并没有内置字典,所以Redis自己实现了字典. 整个Redis数据库的所有的键和值 ...
- mongoDb入门并整合springboot
镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 MongoDb简介 MongoDb是一种非关系型数据库,是现在非常火热的noSQL.也被称为文档性数据库.(可存放json,xml等格式) mo ...
- 6月27日 ajax
AJAX准备知识:JSON 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JS ...