python學生管理系統
阿新 • • 發佈:2019-02-05
這幾天開始接觸了python語言,這語言相對c語言簡潔了不少,語言真是一通百通,學起來還是比較輕鬆,在熟悉了基本語法,列表(序列),元組以及字典之後寫了一個最基礎簡單的的學生管理系統
能完成的功能有:
學生管理系統 v1.0
1.新增學生的資訊
2.刪除學生的資訊
3.修改學生的資訊
4.查詢學生的資訊
5.遍歷所有學生的資訊
6.退出系統
學生資訊中,學號是唯一的,所以進行刪除,修改,查詢都會有學號的唯一的檢測
1.框架顯示以及新增學生的功能
2.新增兩個學生之後,進行顯示功能
3.刪除功能,以及其他也都有學號唯一檢測功能!
4.修改資訊功能
5.查詢資訊以及退出介面
接下來是程式碼
#encoding utf=8 #定義一個函式,顯示可以使用的功能列表給使用者 def showInfo(): print("-"*30) print(" 學生管理系統 v1.0") print(" 1.新增學生的資訊") print(" 2.刪除學生的資訊") print(" 3.修改學生的資訊") print(" 4.查詢學生的資訊") print(" 5.遍歷所有學生的資訊") print(" 6.退出系統") print( '-'*30) #定義一個列表,用來儲存多個學生的資訊 students=[] while True: #把功能列表進行顯示給使用者 showInfo() #提示使用者選擇功能 #獲取使用者選擇的功能 key = int(input("請選擇功能(序號):")) #根據使用者選擇,完成相應功能 if key == 1: print("您選擇了新增學生資訊功能") name = input("請輸入學生姓名:") stuId = input("請輸入學生學號(學號不可重複):") age = input("請輸入學生年齡:") #驗證學號是否唯一 i = 0 leap = 0 for temp in students: if temp['id'] == stuId: leap = 1 break else: i = i + 1 if leap == 1: print("輸入學生學號重複,新增失敗!") break else: # 定義一個字典,存放單個學生資訊 stuInfo = {} stuInfo['name'] = name stuInfo['id'] = stuId stuInfo['age'] = age # 單個學生資訊放入列表 students.append(stuInfo) print("新增成功!") elif key == 2: print("您選擇了刪除學生功能") delId=input("請輸入要刪除的學生學號:") #i記錄要刪除的下標,leap為標誌位,如果找到leap=1,否則為0 i = 0 leap = 0 for temp in students: if temp['id'] == delId: leap = 1 break else: i=i+1 if leap == 0: print("沒有此學生學號,刪除失敗!") else: del students[i] print("刪除成功!") elif key == 3: print("您選擇了修改學生資訊功能") alterId=input("請輸入你要修改學生的學號:") #檢測是否有此學號,然後進行修改資訊 i = 0 leap = 0 for temp in students: if temp['id'] == alterId: leap = 1 break else: i = i + 1 if leap == 1: while True: alterNum=int(input(" 1.修改學號\n 2.修改姓名 \n 3.修改年齡 \n 4.退出修改\n")) if alterNum == 1: newId=input("輸入更改後的學號:") #修改後的學號要驗證是否唯一 i = 0 leap1 = 0 for temp1 in students: if temp1['id'] == newId: leap1 = 1 break else: i = i + 1 if leap1 == 1: print("輸入學號不可重複,修改失敗!") else: temp['id']=newId print("學號修改成功") elif alterNum == 2: newName=input("輸入更改後的姓名:") temp['name'] = newName print("姓名修改成功") elif alterNum == 3: newAge=input("輸入更改後的年齡:") temp['age'] = newAge print("年齡修改成功") elif alterNum == 4: break else: print("輸入錯誤請重新輸入") else: print("沒有此學號,修改失敗!") elif key == 4: print("您選擇了查詢學生資訊功能") searchID=input("請輸入你要查詢學生的學號:") #驗證是否有此學號 i = 0 leap = 0 for temp in students: if temp['id'] == searchID: leap = 1 break else: i = i + 1 if leap == 0: print("沒有此學生學號,查詢失敗!") else: print("找到此學生,資訊如下:") print("學號:%s\n姓名:%s\n年齡:%s\n"%(temp['id'],temp['name'],temp['age'])) elif key == 5: #遍歷並輸出所有學生的資訊 print('*'*20) print("接下來進行遍歷所有的學生資訊...") print("id 姓名 年齡") for temp in students: print("%s %s %s"%(temp['id'],temp['name'],temp['age'])) print("*"*20) elif key == 6: #退出功能,儘量往不退出的方向引 quitconfirm = input("親,真的要退出麼 (yes或者no)??~~(>_<)~~??") if quitconfirm == 'yes': print("歡迎使用本系統,謝謝") break; else: print("您輸入有誤,請重新輸入")
一些功能模組在後續會做成函式呼叫的方式,可以使程式看起來更加簡潔,謝謝