# 晚上把学员管理系统升级到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 # 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(' ') # list_1.pop() # student_list.append(list_1) # file_handle.close() student_list = [] student_dict = {} # read_data() # 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 add(): print('~~~~~~~~~~~~~~~~~~~~') name = input('请输入学员姓名:') age = input('请输入学员年龄:') sex = input('请输入学员性别:') phone = input('请输入学员电话:') print('~~~~~~~~~~~~~~~~~~~~') student_dict['学员姓名'] = name student_dict['学员年龄'] = age student_dict['学员性别'] = sex student_dict['学员电话'] = phone student_list.append(student_dict) # save_data() def change(): # 判断是否有学员信息 ,如果没有,直接结束函数执行 if len(student_list) == 0: print('没有学员数据,无法修改') # 强制结束函数的执行 return for x in range(0, len(student_list)): student_dict = student_list[x] name = student_dict['学员姓名'] age = student_dict['学员年龄'] sex = student_dict['学员性别'] phone = student_dict['学员电话'] 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_dict['学员姓名:'] = new_name student_dict['学员年龄:'] = new_age student_dict['学员性别:'] = new_sex student_dict['学员电话:'] = new_phone student_list.append(student_dict) # 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)): student_dict = student_list[x] name = student_dict['学员姓名'] age = student_dict['学员年龄'] sex = student_dict['学员性别'] phone = student_dict['学员电话'] 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) student_dict = student_list[search_num] name = student_dict['学员姓名'] age = student_dict['学员年龄'] sex = student_dict['学员性别'] phone = student_dict['学员电话'] print('%s. 姓名:%s, 年龄:%s, 性别:%s, 电话:%s' % (search_num, name, age, sex, phone)) else: for x in range(0, len(student_list)): student_dict = student_list[x] name = student_dict['学员姓名'] age = student_dict['学员年龄'] sex = student_dict['学员性别'] phone = student_dict['学员电话'] 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)): student_dict = student_list[x] name = student_dict['学生姓名'] 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() 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的学员管理系统字典版
最新推荐文章于 2023-06-08 11:21:27 发布