分配学号 Python123
描述
附件中学院代码和专业代码文件中的数据是每个学院的编号和专业的编号,学生名单文件中有若干学生信息,学生出现的顺序是他在班级中排名顺序,每行中的数据用逗号分隔,各数据依顺代表:
学生姓名,学生性别,学院,专业名称,行政班(专业加班级号,例如经济1901),入学年级。
请为其增加学号,学号创建规则是:
学生层次(本科为012)+入学年份后两位+学院代码+专业代码+班级号+班中排名。例如
012171985170110 表示本科生、2017年入学、文法学院、 编辑出版专业、1701班、排名为10的同学
输入
第一行输入学生姓名
第二行输入班级
输出
输出其学号和学生姓名,学生性别,学院,专业名称,行政班,入学年级信息,各项之间空格分隔
输出该班级所有同学的信息
示例 1
输入:
段宁
金融gj1701
输出:
012142172140101 段宁 女 国际学院 金融 金融gj1401 2014
012172172170101 罗愚 女 国际学院 金融 金融gj1701 2017
012172172170102 卢佳 女 国际学院 金融 金融gj1701 2017
012172172170103 张郁苓 女 国际学院 金融 金融gj1701 2017
def readFile(filename): #读取文件返回列表file = open(filename,"r")ls = list(line.strip().split(',') for line in file)file.close()return ls
def studentID(lsStudent,lsSchool,lsMajor):#生成学生学号dicSchool = { x[0]:x[1] for x in lsSchool}dicMajor = {x[0]: x[1] for x in lsMajor} detail = [] for student in lsStudent: id = '012' id = id + student[5][2:] + dicSchool[student[2]] + dicMajor[student[3]] + student[4][-4:]id = id + '{0:0>2}'.format([x[0] for x in lsStudent if student[4] == x[4]].index(student[0]) + 1) detail.append([id] + student)return detail
def info(stuName,lsStudent): #查找学生信息info = [info for info in lsStudent if info[1] == stuName][0]return info
def classmate(stuClass,lsStudent): #查找班级同学classmate = [info for info in lsStudent if info[5] == stuClass]return classmate stuName = input()
stuClass = input()
studentList = 'studentList.csv'
schoolCode = 'schoolCode.csv'
MajorCode = 'MajorCode.csv'
lsStudent = readFile(studentList)
lsSchool = readFile(schoolCode)
lsMajor = readFile(MajorCode)
studentDetail = studentID(lsStudent, lsSchool, lsMajor)
print(*info(stuName,studentDetail))
lsclassmate = classmate(stuClass,studentDetail)
for classmate in lsclassmate:print(*classmate)
分配学号 Python123相关推荐
- 6.3 分配学号(project)
第1关:分配学号 任务描述 本关任务:完成学号分配. 输入格式 第一行输入学生姓名: 第二行 ...
- Python123.io---分配学号
分配学号 类型:列表元组 ...
- java面向对象三个关键字,Java 面向对象(三)static 关键字
一.static 1.概述 static 的意思的静态的,也是一种修饰符. 关于 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单属于某个对象的. 用 ...
- 检索有项目的教师信息mysql_学生成绩管理系统(六):项目总结
学生成绩管理系统(六):项目总结 一.项目实现情况 初期项目计划: 简单的图形界面登录功能. 对数据库的的信息的查询功能. 对数据库的的信息的修改功能. 对数据库的的信息的删除功能. 对数据库的的信息 ...
- 迦瓦栈队 团队第六周项目总结
贪吃蛇小游戏的Java实现_项目总结 小组成员: ·20145201 李子璇 ·20145204 张亚军 ·20145211 黄志远 ·20145212 罗天晨 ·20145224 陈颢文 团队项目总 ...
- Beta冲刺总结随笔
这个作业属于哪个课程 2022年福大-软件工程;软件工程实践-W班 这个作业要求在哪里 团队作业--beta冲刺+事后诸葛亮 这个作业的目标 beta冲刺总结 其它参考文献 无 文章目录 一.用表格的 ...
- Comet OJ 2019 夏季欢乐赛题解
Comet OJ 2019 夏季欢乐赛题解 我是来骗访问量的 A 完全k叉树 \(n\)个点的完全k叉树的直径. 直接做 B 距离产生美 直接做 C 烤面包片 \(n!!!\mod p\) 显然\(n ...
- CCPC-Wannafly 夏季欢乐赛 题解
博主又复活了(因为文化课作业太多写不完了所以继续自爆自弃 A.完全k叉树 签到题,考虑最底层的点的距离即可,注意细节(成功拉低了平均通过率) #include <cstdio> #incl ...
- CCPC-Wannafly Comet OJ 夏季欢乐赛(2019)比赛总结
CCPC-Wannafly & Comet OJ 夏季欢乐赛(2019)比赛总结 总结: 这场比赛不太顺心,B,I水题 10分钟内A了.A题推公式用double写卡了1个小时,换成其他暴力 ...
最新文章
- 【廖雪峰python入门笔记】dict
- lock交替打印_面试题Synchronized实现两个线程交替打印
- C# xml文件的创建,修改和添加节点 。
- 复杂产品的响应式设计【知识篇】
- Ubuntu Docker 安装
- 3.索引与string进行映射实现高效查找
- 【转】赶集网mysql开发36军规
- 虚拟内存和swap分区的关系
- 人脸识别示例代码解析(二)——人脸识别解析
- 用yum下载安装gcc
- 我读《非暴力沟通》- 马歇尔 *卢森堡 - 让爱融入生活
- 淘客部分功能实现源码
- 微信账号和系统账号绑定
- 用php的定界符EOT需要注意的地方
- Mac sublime3 在localhsot 上打开项目文件
- 对于“你需要Administrator权限才能删除该文件”情况的处理办法
- 继续改进版臭事百科爬虫20160921
- 【点云系列】基于图结构的点云快速重采样 翻译
- 年轻人,如何抗造系列之 - 无意义的忧虑与烦恼
- JavaScript 深度剖析 - JavaScript 性能优化