python實現(xiàn)簡單學(xué)生信息管理系統(tǒng)
python簡單的學(xué)生信息管理系統(tǒng)-文件版,供大家參考,具體內(nèi)容如下
功能如下
主函數(shù)部分
增加學(xué)生信息
修改學(xué)生信息
刪除學(xué)生信息
查詢學(xué)生
顯示所有學(xué)生的信息
將數(shù)據(jù)錄入文件
讀取文件數(shù)據(jù)
學(xué)習(xí)文件模塊后,將之前做的學(xué)生信息管理系統(tǒng)添加文件模塊。
功能如下
1、新增學(xué)生信息;
2、修改學(xué)生信息;
3、刪除學(xué)生信息;
4、查詢學(xué)生信息;
5、顯示學(xué)生信息;
6、將數(shù)據(jù)錄入文件;
7、讀取文件數(shù)據(jù);
8、退出系統(tǒng)。
主函數(shù)部分
這里定義一個列表L,用來存儲學(xué)生信息。
增加學(xué)生信息
將學(xué)生信息保存為字典添加到列表里。
def add(): dict1 = {} sName = input("請輸入學(xué)生姓名:") sAge = eval(input("請輸入學(xué)生年齡:")) sNumber = eval(input("請輸入學(xué)生學(xué)號:")) tele_num = eval(input("請輸入手機號碼:")) dict1["name"] = sName dict1["age"] = sAge dict1["sNumber"] = sNumber dict1["tele_num"] = tele_num L.append(dict1) print("增加成功") input("按任意鍵返回菜單")
修改學(xué)生信息
這里以學(xué)號為索引值,如果學(xué)號不在學(xué)生庫里則提示無此學(xué)生。
def modify(): num = eval(input("請輸入學(xué)生學(xué)號:")) index1 = -1 for i,dict in enumerate(L): if dict.get("sNumber") == num: index1 = i break if index1 != -1: L[index1]['name'] = input("請輸入新的姓名:") L[index1]['age'] = eval(input("請輸入新的年齡:")) L[index1]['sNumber'] = eval(input("請輸入新的學(xué)號:")) L[index1]['tele_num'] = eval(input("請輸入新的手機號:")) print("修改成功") else: print("無此學(xué)生") input("按任意鍵返回菜單")
刪除學(xué)生信息
刪除學(xué)生也是以學(xué)號為索引值,如果學(xué)號不在學(xué)生庫里則提示無此學(xué)生。
def delete(): num = eval(input("請輸入要刪除學(xué)生的學(xué)號:")) index1 = -1 for i, dict in enumerate(L): if dict.get("sNumber") == num: index1 = i break if index1 != -1: del L[index1] print("刪除成功") else: print("無此學(xué)生") input("按任意鍵返回菜單")
查詢學(xué)生
查詢成功此顯示學(xué)生信息,否則提示無此學(xué)生。
def search(): num = eval(input("請輸入要查詢學(xué)生的學(xué)號:")) index1 = -1 for i, dict in enumerate(L): if dict.get("sNumber") == num: index1 = i break if index1 != -1: print("姓名:%s 年齡:%d 學(xué)號:%d 手機號碼:%d" % (L[index1]["name"], L[index1]["age"], \ L[index1]["sNumber"], L[index1]["tele_num"])) else: print("無此學(xué)生") input("按任意鍵返回菜單")
顯示所有學(xué)生的信息
def prin(): if len(L) == 0: print("無成員") else: for dict1 in L: print("姓名:%s 年齡:%d 學(xué)號:%d 手機號碼:%d"%(dict1["name"], dict1["age"],\ dict1["sNumber"], dict1["tele_num"])) input("按任意鍵返回菜單")
將數(shù)據(jù)錄入文件
因為每個學(xué)生的信息是字典類型,所以錄入之前先轉(zhuǎn)化為字符串。
def write_file(): file = open("student_list.data", 'w', encoding='utf-8') for i in L: file.write(str(i) + '\n') file.close() input("錄入成功,按任意鍵返回菜單!")
讀取文件數(shù)據(jù)
讀取到的信息是字符串,可以使用eval()函數(shù)將信息變?yōu)樵瓉淼淖值漕愋停偬砑拥搅斜砝铩?/p>
def read_file(): try: file = open("student_list.data", 'r', encoding='utf-8') content = file.readlines() for i in content: L.append(eval(i)) file.close() input("讀取完成,按任意鍵返回菜單!") except: print("文件不存在")
更多學(xué)習(xí)資料請關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python學(xué)生信息管理系統(tǒng)(完整版)
- Python實現(xiàn)GUI學(xué)生信息管理系統(tǒng)
- python實現(xiàn)學(xué)生信息管理系統(tǒng)
- python實現(xiàn)簡易學(xué)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)實現(xiàn)代碼
- python學(xué)生信息管理系統(tǒng)(初級版)
- python學(xué)生信息管理系統(tǒng)實現(xiàn)代碼
- python代碼實現(xiàn)學(xué)生信息管理系統(tǒng)
- Python結(jié)合MySQL數(shù)據(jù)庫編寫簡單信息管理系統(tǒng)完整實例
相關(guān)文章
python基于socketserver實現(xiàn)并發(fā),驗證客戶端的合法性
TCP協(xié)議的socket一次只能和一個客戶端通信, 而socketsever可以時間和多個客戶端通信。本文將講解socketserver的具體使用2021-05-05django 多數(shù)據(jù)庫及分庫實現(xiàn)方式
這篇文章主要介紹了django 多數(shù)據(jù)庫及分庫實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04解決pycharm19.3.3安裝pyqt5找不到designer.exe和pyuic.exe的問題
這篇文章給大家介紹了pycharm19.3.3安裝pyqt5&pyqt5-tools后找不到designer.exe和pyuic.exe以及配置QTDesigner和PyUIC的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-04-04python中的TCP(傳輸控制協(xié)議)用法實例分析
這篇文章主要介紹了python中的TCP(傳輸控制協(xié)議)用法,結(jié)合完整實例形式分析了Python基于TCP協(xié)議的服務(wù)器端與客戶端相關(guān)實現(xiàn)技巧及操作注意事項,需要的朋友可以參考下2019-11-11詳解pandas如何去掉、過濾數(shù)據(jù)集中的某些值或者某些行?
這篇文章主要介紹了pandas如何去掉、過濾數(shù)據(jù)集中的某些值或者某些行?,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05