1# coding:utf-8 2import os 3# 声明一个空列表存储学员的姓名 4 member_list = [] 5# 读取本地文件生数据,将本地数据添加至member_list 中 即可没保证第二次运行member_list 6if os.path.exists('student.txt'): 7 file_test = open('student.txt','r') 8 name_list = file_test.readlines() 9# 将name_list 中的姓名进行处理,去除姓名中的\n 10for name in name_list: 11 res = name.strip('\n') 12# 将处理完成的姓名添加至member-list 13 member_list.append(res) 14 file_test.close() 15else: 16print'文件不存在!' 17while 1: 18print""" 19 1.添加学员姓名 20 2.修改学员姓名 21 3.查询学员姓名 22 4.删除学员姓名 23 0.退出程序 24""" 25 select_operation = input('请输入操作编号') 26# 循环判断输入的编号是否存在 27while select_operation<0 or select_operation>4: 28 select_operation = input('编号不存在,请输入操作编号') 29# 判断每一种编号,设置相应的逻辑 30if select_operation == 1: 31# 添加操作 32 member_name = raw_input('请输入学员姓名:') 33# 将姓名添加到列表中 34 member_list.append(member_name) 35print'-----添加成功 \n' 36elif select_operation == 2: 37# 修改学员姓名 38# 先查询所有的学员姓名,然后给每一个学员设置编号,方便修改 39for x in xrange(0,len(member_list)): 40# 先以x为索引去除列表的每一个值, 41 name= member_list[x] 42print x+1,' .',name 43# 获取输入的学员编号,因为要根据编号修改学员姓名信息. 44 select_number = input('请输入要修改的学员编号:') 45# 循环检测编号是否正确 46while select_number < 1 or select_number>len(member_list): 47 select_number = input('学员编号不存在,重新输入:') 48# 根据获取的编号修改列表的数据 49# 获取控制台输入的新的学员姓名 50 new_name = raw_input('请输入修改后的姓名:') 51 member_list[select_number-1] = new_name 52print'数据修改成功!n' 53elif select_operation == 3: 54print'1-根据学员编号查询信息' 55print'2-查询所有学员' 56 select_number = input('请选择查询操作:') 57while select_number != 1 and select_number !=2 : 58 select_number = input('请重新选择查询操作:') 59if select_number ==1: 60 number = input('请输入查询编号:') 61while number < 1 or number>len(member_list): 62 number = input('学员编号不存在,重新输入:') 63print member_list[number-1] 64else: 65for x in xrange(0,len(member_list)): 66# 先以x为索引去除列表的每一个值, 67 name= member_list[x] 68print x+1,' .',name 69elif select_operation == 4: 70print'1-根据序号删除' 71print'2-根据姓名删除' 72print'3-删除所有学员' 73 number = input('选择删除操作:') 74while number != 1 and number != 2 and number != 3 : 75 number = input('选择正确的删除操作:') 76if number ==1: 77 num = input('请输入学员序号: ') 78while num<0 or num>len(member_list): 79 num = input('请输正确的入学员序号: ') 80 member_list.pop(num) 81print'删除成功\n' 82elif number == 2: 83 name = raw_input('请输入姓名:') 84# 判断名字是否在在列表中,不存在返回true 整体成立,如果存在则返回flase 条件为假 85while name notin member_list: 86 name = raw_input('名字不存在,重新输入:') 87 member_list.remove(name) 88print'删除成功\n' 89else: 90while len(member_list): 91del member_list[0] 92print'删除成功\n' 93else: 94# 退出 95break 96#因为 member_list列表在进行增删改查之后,保存的数据都是最新的数据,直接将列表的所有数据全部写到本地文件中. 97 file_test = open('student.txt','w') 98for x in xrange(0,len(member_list)): 99 name = member_list[x] 100# 取出姓名之后,每循环一次,将取出的姓名写入到本地。101 file_test.write(name) 102 file_test.write('\n') 103# 关闭文件104 file_test.close()