1 # coding:utf-8 2 import os 3 # 聲明一個空列表存儲學員的姓名 4 member_list = [] 5 # 讀取本地文件生數據,將本地數據添加至member_list 中 即可沒保證第二次運行member_list 6 if os.path.exists('stud... ...
1 # coding:utf-8 2 import os 3 # 聲明一個空列表存儲學員的姓名 4 member_list = [] 5 # 讀取本地文件生數據,將本地數據添加至member_list 中 即可沒保證第二次運行member_list 6 if os.path.exists('student.txt'): 7 file_test = open('student.txt','r') 8 name_list = file_test.readlines() 9 # 將name_list 中的姓名進行處理,去除姓名中的\n 10 for name in name_list: 11 res = name.strip('\n') 12 # 將處理完成的姓名添加至member-list 13 member_list.append(res) 14 file_test.close() 15 else: 16 print '文件不存在!' 17 while 1: 18 print""" 19 1.添加學員姓名 20 2.修改學員姓名 21 3.查詢學員姓名 22 4.刪除學員姓名 23 0.退出程式 24 """ 25 select_operation = input('請輸入操作編號') 26 # 迴圈判斷輸入的編號是否存在 27 while select_operation<0 or select_operation>4: 28 select_operation = input('編號不存在,請輸入操作編號') 29 # 判斷每一種編號,設置相應的邏輯 30 if select_operation == 1: 31 # 添加操作 32 member_name = raw_input('請輸入學員姓名:') 33 # 將姓名添加到列表中 34 member_list.append(member_name) 35 print '-----添加成功 \n' 36 elif select_operation == 2: 37 # 修改學員姓名 38 # 先查詢所有的學員姓名,然後給每一個學員設置編號,方便修改 39 for x in xrange(0,len(member_list)): 40 # 先以x為索引去除列表的每一個值, 41 name= member_list[x] 42 print x+1,' .',name 43 # 獲取輸入的學員編號,因為要根據編號修改學員姓名信息. 44 select_number = input('請輸入要修改的學員編號:') 45 # 迴圈檢測編號是否正確 46 while 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 52 print '數據修改成功!n' 53 elif select_operation == 3: 54 print '1-根據學員編號查詢信息' 55 print '2-查詢所有學員' 56 select_number = input('請選擇查詢操作:') 57 while select_number != 1 and select_number !=2 : 58 select_number = input('請重新選擇查詢操作:') 59 if select_number ==1: 60 number = input('請輸入查詢編號:') 61 while number < 1 or number>len(member_list): 62 number = input('學員編號不存在,重新輸入:') 63 print member_list[number-1] 64 else: 65 for x in xrange(0,len(member_list)): 66 # 先以x為索引去除列表的每一個值, 67 name= member_list[x] 68 print x+1,' .',name 69 elif select_operation == 4: 70 print '1-根據序號刪除' 71 print '2-根據姓名刪除' 72 print '3-刪除所有學員' 73 number = input('選擇刪除操作:') 74 while number != 1 and number != 2 and number != 3 : 75 number = input('選擇正確的刪除操作:') 76 if number ==1: 77 num = input('請輸入學員序號: ') 78 while num<0 or num>len(member_list): 79 num = input('請輸正確的入學員序號: ') 80 member_list.pop(num) 81 print '刪除成功\n' 82 elif number == 2: 83 name = raw_input('請輸入姓名:') 84 # 判斷名字是否在在列表中,不存在返回true 整體成立,如果存在則返回flase 條件為假 85 while name not in member_list: 86 name = raw_input('名字不存在,重新輸入:') 87 member_list.remove(name) 88 print '刪除成功\n' 89 else: 90 while len(member_list): 91 del member_list[0] 92 print '刪除成功\n' 93 else: 94 # 退出 95 break 96 #因為 member_list列表在進行增刪改查之後,保存的數據都是最新的數據,直接將列表的所有數據全部寫到本地文件中. 97 file_test = open('student.txt','w') 98 for 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()