# 晚上把学员管理系统升级到2.0版本 # 数据存储结构如下: ''' # 大列表中嵌套小列表,小列表中存储一个学员的完整信息 student_list = [['张三','22','男','110'],['李四','22','男','110'],['王五','22','男','110']] # 例如要取出张三这个学员的信息 # 1.取出张三这个学员的小列表 student1 = student_list[0] # 2.再从小列表中根据索引取出姓名、年龄、性别、电话 name = student1[0] age = student1[1] sex = student1[2] phone = student1[3] ''' # 封装判断选择学员序号是否存在 # def get_index(): # index = input('请选择要修改的学员序号') # index = int(index) # while index not in range(0,len(student_list)): # index = input('选择学员序号不存在,请重选:') # index = int(index) # return index import os student_list = [] def save_data(): file_handle = open('student_2.txt','w') for student in student_list: # join()把列表中的数据用 空格分开并拼接为一个字符串 s = ' '.join(student) # 写入 file_handle.write(s) file_handle.write('\n') file_handle.close() def read_data(): # 判断文件是否存在,如果存在 在做打开文件的操作 # 如果文件存在返回True 不存在 返回False rs = os.path.exists('student_2.txt') if rs == True: file_handle = open('student_2.txt', mode='r') contents = file_handle.readlines() for msg in contents: msg = msg.strip('\n') list_1 = msg.split(' ') student_list.append(list_1) file_handle.close() def add(): print('~~~~~~~~~~~~~~~~~~~~') name = input('请输入学员姓名:') age = input('请输入学员年龄:') sex = input('请输入学员性别:') phone = input('请输入学员电话:') print('~~~~~~~~~~~~~~~~~~~~') student_list.append([name,age,sex,phone]) save_data() def change(): # 判断是否有学员信息 ,如果没有,直接结束函数执行 if len(student_list) == 0: print('没有学员数据,无法修改') # 强制结束函数的执行 return for x in range(0,len(student_list)): student111_list = student_list[x] name = student111_list[0] age = student111_list[1] sex = student111_list[2] phone = student111_list[3] print('%s. 姓名:%s, 年龄:%s, 性别:%s, 电话:%s'%(x,name,age,sex,phone)) print('~~~~~~~~~~~~~~~~~~~~') index = input('请输入您要修改的学生的编号:') index = int(index) while index not in range(0,len(student_list)): print('~~~~~~~~~~~~~~~~~~~~') index = input('请输入正确的编号:') index = int(index) new_name = input('请输入您要修改学生的姓名:') new_age = input('请输入您要修改学生的年龄:') new_sex = input('请输入您要修改学生的性别:') new_phone = input('请输入您要修改学生的电话:') student_list[index] = [new_name, new_age, new_phone, new_sex] save_data() def search(): print('1.用姓名查询') print('2.用学号查询') print('3.查询全部学生') choose = input('请选择您的操作:') choose = int(choose) while choose not in range(1,4): choose = input('请选择正确的编号') choose = int(choose) if choose == 1: while True: search_name = input('请输入您要查询学生的姓名:') exist = False for x in range(0, len(student_list)): student111_list = student_list[x] name = student111_list[0] age = student111_list[1] sex = student111_list[2] phone = student111_list[3] if search_name == name: exist = True print('%s. 姓名:%s, 年龄:%s, 性别:%s, 电话:%s' % (x, name, age, sex, phone)) if exist == False: print('姓名不存在,请输入正确的姓名') else: break elif choose == 2: search_num = input('请输入您要查询的学生的编号:') search_num = int(search_num) while search_num not in range(0,len(student_list)): search_num = input('请输入正确的编号') search_num = int(search_num) student111_list = student_list[search_num] name = student111_list[0] age = student111_list[1] sex = student111_list[2] phone = student111_list[3] print('%s. 姓名:%s, 年龄:%s, 性别:%s, 电话:%s'%(search_num,name,age,sex,phone)) else: for x in range(0,len(student_list)): student111_list = student_list[x] name = student111_list[0] age = student111_list[1] sex = student111_list[2] phone = student111_list[3] print('%s. 姓名:%s, 年龄:%s, 性别:%s, 电话:%s'%(x,name,age,sex,phone)) def delete(): print('~~~~~~~~~~~~~~~~~~~~') print('1.根据学员学号删除') print('2.根据学员姓名删除') print('3.删除所有学员') search_num = input('请输入您的操作:') search_num = int(search_num) while search_num not in range(1, 4): search_num = input('请输入正确的编号') search_num = int(search_num) if search_num == 1: # 判断是否有学员信息 ,如果没有,直接结束函数执行 if len(student_list) == 0: print('没有学员数据,无法修改') # 强制结束函数的执行 return index = input('请输入您要删除学生的编号:') index = int(index) while index not in range(0,len(student_list)): print('~~~~~~~~~~~~~~~~~~~~') index = input('请输入正确的学生编号') index = int(index) del student_list[index] save_data() if search_num == 2: del_name = input('请输入您要删除学生的姓名:') exist = False for x in range(0, len(student_list)): student111_list = student_list[x] name = student111_list[0] if del_name == name: exist = True del student_list[x] print('删除成功') if exist == False: print('~~~~~~~~~~~~~~~~~~~') print('姓名不存在,请重新删除') save_data() if search_num == 3: rs = input('确认删除所有信息?Y(确定)/N(取消):') if rs == 'Y': student_list.clear() else: print('删除数据操作已取消') save_data() read_data() while True: print('~~~~~~~~~~~~~~~~~~~~') print('1.添加学员') print('2.修改学员') print('3.查询学员') print('4.删除学员') print('0.退出程序') print('~~~~~~~~~~~~~~~~~~~~') num = input('请选择您的操作:') num = int(num) while num not in range(0,5): num = input('请输入正确的选项:') num = int(num) if num == 1: add() elif num == 2: change() elif num == 3: search() elif num == 4: delete() else: break
基于python的学员管理系统本地存储版
最新推荐文章于 2024-09-01 20:21:20 发布
