學生信息管理系統負責編輯學生信息
下面通過python實現一個簡單的學生信息管理系統
要求如下:
1.添加學生的信息
2.刪除學生的信息
3.修改的信息
4.查詢學生的信息
5.遍歷學生的信息
6.退出系統
寫法:
1.先考慮整體的框架(即搭框架),不要剛開始就考慮函數。
2.提示用戶選擇功能。
3.獲取用戶選擇的功能。
4.根據用戶的選擇,執行相應的功能。
代碼如下:
1 # 0.學生管理系統界面 2 def showInfo(): 3 print("-"*30) 4 print(" 學生管理系統 v1.0") 5 print(" 1:添加學生的信息") 6 print(" 2:刪除學生的信息") 7 print(" 3:修改的信息") 8 print(" 4:查詢學生的信息") 9 print(" 5:遍歷學生的信息") 10 print(" 6:退出系統") 11 print("-" * 30) 12 13 14 # 1.添加學生的信息 15 def addNewStu(studentsTemp): 16 name = input("請輸入姓名:") 17 stuId = input("請輸入學號:") 18 age = input("請輸入年齡:") 19 20 # 2.判斷是否能加這個學生:如果學生姓名已經存在報錯提示;如果姓名不存在添加數據 21 global students # 聲明students為全局變量 22 23 # 2.1不允許學號重復:判斷用戶輸入的學號和列表里面字典的id對應的值相等提示 24 for i in students: 25 if stuId == i['id']: 26 print("該學號已經存在,請重新操作!!!") 27 # return作用:退出當前函數,后面添加信息的代碼不執行 28 return 29 30 # 2.2如果輸入的姓名不存在,添加數據:准備空字典,字典新增數據,列表追加字典 31 stuInfo = {} # 2.2.1准備空字典 32 33 # 2.2.2字典新增數據 34 stuInfo['name'] = name # 如果name存在賦值修改,如果name不存在則賦值新增“name”這個變量 35 stuInfo['id'] = stuId 36 stuInfo['age'] = age 37 38 # 2.2.3列表追加字典數據 39 studentsTemp.append(stuInfo) 40 41 42 43 # 2.刪除學生的信息 44 def del_info(): 45 # 1.用戶輸入要刪除的學生的學號 46 del_name = input("請輸入要刪除的姓名:") 47 48 # 2.判斷學生是否存在:存在則刪除:不存在提示 49 # 2.1聲明students為全局變量 50 global students 51 # 2.2遍歷列表 52 for i in students: 53 # 2.3判斷學生是否存在:存在執行刪除(列表用面的學典).break:這個系統不允許重名,刪除了一個后面的不需要再遍歷。不存在提示 54 if del_name == i['name']: 55 students.remove(i) 56 break 57 else: # 循環正常結束 58 print("該學生不存在") 59 print(students) 60 61 62 # 3.修改學生的信息 63 def modify_info(): 64 # 1.用戶輸入想要修改的學生的姓名 65 modify_name = input("請輸入要修改的學生的姓名:") 66 # 2.判斷學生是否存在:存在修改學號:不存在,提示 67 # 2.1聲明students是全局變量 68 global students 69 # 2.2遍歷列表,判斷輸入的姓名==字典['name'] 70 for i in students: 71 if modify_name == i['name']: 72 # 將stuId修改key值,並終止此循環 73 i['id'] = input("請輸入新的學號:") 74 break 75 else: 76 # 學生不存在 77 print("該學生不存在") 78 # 3.打印students 79 print(students) 80 81 82 # 4.查詢學生的信息 83 def search_info(): 84 # 1.用戶輸入目標學生姓名 85 search_name = input("請輸入要查詢的學生的姓名:") 86 # 2.檢查學生是否存在:存在打印這個學生的信息;不存在則提示 87 # 2.1聲明students為全局變量 88 global students 89 # 2.2遍歷students,判斷輸入的學號是否存在 90 for i in students: 91 if search_name == i['name']: 92 # 學員存在:打印信息並終止循環 93 print("查詢到的學生信息如下----------") 94 print(f"學生的學號是{i['id']},學生的姓名是{i['name']},學生的年齡是{i['age']}") 95 break 96 else: 97 # 學生不存在的提示 98 print("對不起,您查詢的學生不存在,請重試!") 99 100 101 # 5.遍歷學生的信息 102 def print_all(): 103 # 1.打印提示字 104 print('學號\t姓名\t年齡') 105 106 # 2.打印所有學生的數據 107 for i in students: 108 print(f"{i['id']}\t{i['name']}\t{i['age']}") 109 110 111 students = [] # 等待存儲所有學生信息 112 # 系統功能需要循環使用,直在用戶輸入6,才退出系統 113 while True: 114 showInfo() # 顯示主界面 115 key = int(input("請選擇功能(序號):")) 116 117 if key == 1: 118 addNewStu(students) 119 elif key == 2: 120 del_info() 121 elif key == 3: 122 modify_info() 123 elif key == 4: 124 search_info() 125 elif key == 5: 126 print_all() 127 elif key == 6: 128 exit_flag = input("您確定要退出嗎?yes/no\n") 129 if exit_flag == 'yes': 130 break 131 else: 132 print("輸入有誤,請重新輸入!") 133