- 一、程序功能
- 1.功能概述
- 2.思维导图
- 二、学生信息级组成
- 1.信息组成
- 2.学生信息
- 3.建立学生信息
- 三、读取学生文件
- 1.用元组的列表保存多个学生信息
- 四、格式化输出students列表
- 1.程序
- 2.查看结果
- 3.注意事项
- 五、对学生元组的列表进行增删改查 *** 作
- 1.增加学生记录
- 2.查询学生记录
- 3.修改学生记录
- 4.删除学生记录
- 六、构建学生信息管理多级菜单系统
- 1.编写程序
- 2.运行程序,查看结果
- 七、总结
- 利用Python完成一个学生信息程序的简单改动,如增加程序、删除程序、查询程序等。
1.学号
2.姓名
3.性别
4.年龄
5.班级
6.专业
7.院校
8.电话号码
3.建立学生信息
- 2020001 李晓红 女 19 2020级软件4班 软件技术 人工智能与大数据学院 15945465426
- 2020002 王晓刚 男 18 2020级软件4班 软件技术 人工智能与大数据学院 13525489644
- 2020003 楚梦瑶 女 18 2020级软件4班 软件技术 人工智能与大数据学院 13985465385
- 2020004 王航 男 20 2020级数据1班 大数据技术与应用 人工智能与大数据学院 15246922256
- 2020005 吴萌 女 17 2020级数据1班 大数据技术与应用 人工智能与大数据学院 13158569699
- 2020006 林明 男 18 2020级数据1班 大数据技术与应用 人工智能与大数据学院 13984658158
- 在D盘建立一个文档
- 在这个文档里建立一个记事本
- 在这个记事本上建立学生信息
- 编写程序
# -*- 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()
- 查看结果
# -*- 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.注意事项
- 若路径没有绝对路径则需要将创建好的文件添加到程序目录。
- 打开文件路径
- 添加文件到目录
- 编写程序
# -*- 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()`
- 查看结果
- 按学号查询
# -*- 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))
-
第一次查询
-
第二次查询
- 程序
# -*- 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))
- 结果
- 程序
# -*- 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=' ')`
- 结果
# -*- 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') break2.运行程序,查看结果 七、总结
- 花了两天 终于算是勉强完成了老师布置的作业。虽然那天上课的时候听的很认真,但是还有很多方面不熟悉,不了解,所以查漏补缺,加强学习!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)