irpas技术客

Python实训报告:学生信息管理系统_?雾?爱?_python学生管理系统设计实验报告

网络 6607

文章目录 一、程序功能1.功能概述2.思维导图 二、学生信息级组成1.信息组成2.学生信息3.建立学生信息 三、读取学生文件1.用元组的列表保存多个学生信息 四、格式化输出students列表1.程序2.查看结果3.注意事项 五、对学生元组的列表进行增删改查操作1.增加学生记录2.查询学生记录3.修改学生记录4.删除学生记录 六、构建学生信息管理多级菜单系统1.编写程序2.运行程序,查看结果 七、总结

一、程序功能 1.功能概述 利用Python完成一个学生信息程序的简单改动,如增加程序、删除程序、查询程序等。 2.思维导图

二、学生信息级组成 1.信息组成

1.学号 2.姓名 3.性别 4.年龄 5.班级 6.专业 7.院校 8.电话号码

2.学生信息 2020001 李晓红 女 19 2020级软件4班 软件技术 人工智能与大数据学院 159454654262020002 王晓刚 男 18 2020级软件4班 软件技术 人工智能与大数据学院 135254896442020003 楚梦瑶 女 18 2020级软件4班 软件技术 人工智能与大数据学院 139854653852020004 王航 男 20 2020级数据1班 大数据技术与应用 人工智能与大数据学院 152469222562020005 吴萌 女 17 2020级数据1班 大数据技术与应用 人工智能与大数据学院 131585696992020006 林明 男 18 2020级数据1班 大数据技术与应用 人工智能与大数据学院 13984658158 3.建立学生信息 在D盘建立一个文档在这个文档里建立一个记事本在这个记事本上建立学生信息 三、读取学生文件 1.用元组的列表保存多个学生信息 编写程序 # -*- coding: utf-8 -*- ''' 功能:用二维列表保存多个学生学生信息 作者:雾爱 日期:2021年12月26日 ''' student1 = ['2020001','李晓红','女','19','2020级软件4班','软件技术','人工智能与大数据学院','15945465426'] student2 = ['2020002','王晓刚','男','18','2020级软件4班','软件技术','人工智能与大数据学院','13525489644'] student3 = ['2020003','楚梦瑶','女','18','2020级软件4班','软件技术','人工智能与大数据学院','13985465385'] student4 = ['2020004','王航','男','20','2020级数据1班','大数据技术与应用','人工智能与大数据学院','15246922256'] student5 = ['2020005','吴萌','女','17','2020级数据1班','大数据技术与应用','人工智能与大数据学院','13158569699'] student6 = ['2020006','林明','男','18','2020级数据1班','大数据技术与应用','人工智能与大数据学院','13984658158'] students = [] students.append(student1) students.append(student2) students.append(student3) students.append(student4) students.append(student5) students.append(student6) for student in students: for i in range(8): print(student[i],end=' ' ) print() 查看结果 四、格式化输出students列表 1.程序 # -*- coding: utf-8 -*- ''' 功能:读取学生文件,保存到元祖的列表里 作者:雾爱 日期:2021年12月26日 ''' # 创建空学生列表 students = [] # 以只读方式打开文件 f = open('学生.txt') # 以行的方式遍历文件对象 for line in f: # 去掉每一行的换行符 line =line.replace('\n',' ') # 以空格作为分隔符拆分每一行 student = tuple(line.split(' ')) # 将学生元组添加到学生列表里 students.append(student) # 输出学生列表 print(students) print() for student in students: for i in range(len(students)): print(student[i],end=' ') print() 2.查看结果

3.注意事项 若路径没有绝对路径则需要将创建好的文件添加到程序目录。打开文件路径 添加文件到目录 五、对学生元组的列表进行增删改查操作 1.增加学生记录 编写程序 # -*- coding: utf-8 -*- ''' 功能:添加学生元组到列表 作者:雾爱 日期:2021年12月26日 ''' # 创建空学生列表 students = [] # 以只读方式打开文件 f = open('学生.txt') # 以行的方式遍历文件对象 for line in f: # 去掉每一行的换行符 line =line.replace('\n',' ') # 以空格作为分隔符拆分每一行 student = tuple(line.split(' ')) # 将学生元组添加到学生列表里 students.append(student) # 添加一个学生 new_student = ('2021004','李倩','女','18','2021级软件4班','软件技术','人工智能与大数据学院','13981457665') students.append(new_student) # 输出之后的学生元组的列表 for student in students: for i in range(len(student)): print(student[i],end=' ') print()` 查看结果

2.查询学生记录 按学号查询 # -*- coding: utf-8 -*- ''' 功能:按学号查询学生记录 作者:雾爱 日期:2021年12月26日 ''' # 创建空学生列表 students = [] # 以只读方式打开文件 f = open('学生.txt') # 以行的方式遍历文件对象 for line in f: # 去掉每一行的换行符 line =line.replace('\n',' ') # 以空格作为分隔符拆分每一行 student = tuple(line.split(' ')) # 将学生元组添加到学生列表里 students.append(student) # 用户从键盘输出学号 id = input('请输入待查学生的学号:') found = False for student in students: if (student[0] == id): found = True for i in range(len(student)): print(student[i],end=' ') break if not found: print('学号为{[]}的学生没找到!'.format(id)) 第一次查询 第二次查询 按姓名查询 # -*- coding: utf-8 -*- ''' 功能:按姓名查询学生记录 作者:雾爱 日期:2021年12月26日 ''' # 创建空学生列表 students = [] # 以只读方式打开文件 f = open('学生.txt') # 以行的方式遍历文件对象 for line in f: # 去掉每一行的换行符 line =line.replace('\n',' ') # 以空格作为分隔符拆分每一行 student = tuple(line.split(' ')) # 将学生元组添加到学生列表里 students.append(student) # 用户从键盘输出姓名 name = input('请输入待查学生的姓名:') found = False for student in students: if (student[1] == name): found = True for i in range(len(student)): print(student[i],end=' ') break if not found: print('姓名为{[]}的学生没找到!'.format(name))

第一次查询

第二次查询

3.修改学生记录 程序 # -*- coding: utf-8 -*- ''' 功能:修改学生记录 作者:雾爱 日期:2021年12月26日 ''' # 创建空学生列表 students = [] # 以只读方式打开文件 f = open('学生.txt') # 以行的方式遍历文件对象 for line in f: # 去掉每一行的换行符 line =line.replace('\n',' ') # 以空格作为分隔符拆分每一行 student = tuple(line.split(' ')) # 将学生元组添加到学生列表里 students.append(student) # 用户从键盘输出学号 id = input('请输入待查学生的学号:') found = False for student in students: if (student[0] == id): found = True new_age = input('请输入新的年龄:') new_telephone = input('请输入新的电话号码:') # 修改学生的元组指定属性的之值 student[3] = new_age student[7] = new_telephone print('恭喜!学生记录修改成功!') for i in range(len(student)): print(student[i],end=' ') break if not found: print('学号为{[]}的学生没找到!'.format(name)) 程序结果 报错了!这是为什么?原来报错的原因是学生元组的元素是不能改动的。既然不能改动,那怎么办呢?很简单,既然元组的元素不能改动,那我们把元组转化成列表不就可以了!修改后的程序 # -*- coding: utf-8 -*- ''' 功能:修改学生记录 作者:雾爱 日期:2021年12月26日 ''' # 创建空学生列表 students = [] # 以只读方式打开文件 f = open('学生.txt') # 以行的方式遍历文件对象 for line in f: # 去掉每一行的换行符 line =line.replace('\n',' ') # 以空格作为分隔符拆分每一行 student = tuple(line.split(' ')) # 将学生元组添加到学生列表里 students.append(student) # 用户从键盘输出学号 id = input('请输入待查学生的学号:') found = False for student in students: if (student[0] == id): found = True # 将学生元组转化成列表 student = list(student) new_age = input('请输入新的年龄:') new_telephone = input('请输入新的电话号码:') # 修改学生的元组指定属性的之值 student[3] = new_age student[7] = new_telephone # 又将列表转化成元组 student = turtle(student) print('恭喜!学生记录修改成功!') for i in range(len(student)): print(student[i],end=' ') break if not found: print('学号为{[]}的学生没找到!'.format(name)) 结果 4.删除学生记录 程序 # -*- coding: utf-8 -*- ''' 功能:删除学生记录 作者:雾爱 日期:2021年12月26日 ''' # 创建空学生列表 students = [] # 以只读方式打开文件 f = open('学生.txt') # 以行的方式遍历文件对象 for line in f: # 去掉每一行的换行符 line =line.replace('\n',' ') # 以空格作为分隔符拆分每一行 student = tuple(line.split(' ')) # 将学生元组添加到学生列表里 students.append(student) # 用户从键盘输出学号 id = input('请输入删除学生的学号:') found = False for student in students: if (student[0] == id): found = True # 按值删除列表元素 students.remove(student) print('恭喜!学生记录删除成功!') for i in range(len(student)): print(student[i],end=' ') break if not found: print('学号为{[]}的学生没找到!'.format(id)) else: for student in students: for i in range(len(student)): print(student[i],end=' ')` 结果 六、构建学生信息管理多级菜单系统 1.编写程序 # -*- coding: utf-8 -*- ''' 功能:学生信息管理 作者:雾爱 日期:2021年12月26日 ''' def add_student(): print('\n添加学生记录功能模块尚待开发\n') def query_student(): while True: print('查询学生记录') print('===============') print('1.按学号查询学生记录') print('2.按姓名查询学生记录') print('3.查询全部学生记录') print('4.返回上级菜单') print('===============') mc3 = int(input('输入菜单号:')) if mc3 == 1: print('\n按学号查询学生记录功能尚待开发\n') elif mc3 == 2: print('\n按姓名查询学生记录功能尚待开发\n') elif mc3 == 3: print('\n全部查询学生记录功能尚待开发\n') else: break def modify_student(): print('\n修改学生记录功能尚待开发\n') def delete_student(): print('\n删除学生记录功能尚待开发\n') def login(): username = input('输入用户名:') password = input('输入密码:') if username == 'wuai' and password == '1314520': while True: print('===============') print('学生信息管理') print('1.增加学生记录') print('2.查询学生记录') print('3.修改学生记录') print('4.删除学生记录') print('5.返回上级菜单') print('===============') mc2 = int(input('输入菜单号:')) if mc2 == 1: add_student() elif mc2 == 2: query_student() elif mc2 == 3: modify_student() elif mc2 == 4: delete_student() else: break else: print('\n用户名活密码错误,请重新登录!\n') while True: print('用户登录') print('==========') print('1.登录') print('2.退出') print('==========') mc1 = int(input('输入菜单号:')) if mc1 == 1: login() elif mc1 == 2: print('\n谢谢使用本程序!\n') break 2.运行程序,查看结果

七、总结 花了两天 终于算是勉强完成了老师布置的作业。虽然那天上课的时候听的很认真,但是还有很多方面不熟悉,不了解,所以查漏补缺,加强学习!


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #李晓红