基於Python實現學生管理系統


學生信息管理系統負責編輯學生信息

下面通過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         

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM