python實現(xiàn)簡單學生信息管理系統(tǒng)
python簡單的學生信息管理系統(tǒng)-文件版,供大家參考,具體內(nèi)容如下
功能如下
主函數(shù)部分
增加學生信息
修改學生信息
刪除學生信息
查詢學生
顯示所有學生的信息
將數(shù)據(jù)錄入文件
讀取文件數(shù)據(jù)
學習文件模塊后,將之前做的學生信息管理系統(tǒng)添加文件模塊。
功能如下
1、新增學生信息;
2、修改學生信息;
3、刪除學生信息;
4、查詢學生信息;
5、顯示學生信息;
6、將數(shù)據(jù)錄入文件;
7、讀取文件數(shù)據(jù);
8、退出系統(tǒng)。

主函數(shù)部分
這里定義一個列表L,用來存儲學生信息。

增加學生信息
將學生信息保存為字典添加到列表里。
def add():
dict1 = {}
sName = input("請輸入學生姓名:")
sAge = eval(input("請輸入學生年齡:"))
sNumber = eval(input("請輸入學生學號:"))
tele_num = eval(input("請輸入手機號碼:"))
dict1["name"] = sName
dict1["age"] = sAge
dict1["sNumber"] = sNumber
dict1["tele_num"] = tele_num
L.append(dict1)
print("增加成功")
input("按任意鍵返回菜單")

修改學生信息
這里以學號為索引值,如果學號不在學生庫里則提示無此學生。
def modify():
num = eval(input("請輸入學生學號:"))
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("請輸入新的學號:"))
L[index1]['tele_num'] = eval(input("請輸入新的手機號:"))
print("修改成功")
else:
print("無此學生")
input("按任意鍵返回菜單")
刪除學生信息
刪除學生也是以學號為索引值,如果學號不在學生庫里則提示無此學生。
def delete():
num = eval(input("請輸入要刪除學生的學號:"))
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("無此學生")
input("按任意鍵返回菜單")
查詢學生
查詢成功此顯示學生信息,否則提示無此學生。
def search():
num = eval(input("請輸入要查詢學生的學號:"))
index1 = -1
for i, dict in enumerate(L):
if dict.get("sNumber") == num:
index1 = i
break
if index1 != -1:
print("姓名:%s 年齡:%d 學號:%d 手機號碼:%d" % (L[index1]["name"], L[index1]["age"], \
L[index1]["sNumber"], L[index1]["tele_num"]))
else:
print("無此學生")
input("按任意鍵返回菜單")
顯示所有學生的信息
def prin():
if len(L) == 0:
print("無成員")
else:
for dict1 in L:
print("姓名:%s 年齡:%d 學號:%d 手機號碼:%d"%(dict1["name"], dict1["age"],\
dict1["sNumber"], dict1["tele_num"]))
input("按任意鍵返回菜單")
將數(shù)據(jù)錄入文件
因為每個學生的信息是字典類型,所以錄入之前先轉(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("文件不存在")
更多學習資料請關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python實現(xiàn)計算兩個指定日期相差幾年幾月幾日
這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)計算兩個日期之間相差多少年,多少月,多少天,文中的的示例代碼講解詳細,需要的可以參考下2024-02-02
Python實現(xiàn)的在特定目錄下導(dǎo)入模塊功能分析
這篇文章主要介紹了Python實現(xiàn)的在特定目錄下導(dǎo)入模塊功能,結(jié)合實例形式分析了Python基于系統(tǒng)函數(shù)及import語句實現(xiàn)模塊導(dǎo)入的相關(guān)操作技巧,需要的朋友可以參考下2019-02-02
利用Anaconda完美解決Python 2與python 3的共存問題
Anaconda 是 Python 的一個發(fā)行版,如果把 Python 比作 Linux,那么 Anancoda 就是 CentOS 或者 Ubuntu,下面這篇文章主要給大家介紹了利用Anaconda完美解決Python 2與python 3共存問題的相關(guān)資料,文中介紹的非常詳細,需要的朋友可以參考借鑒。2017-05-05
Python 3.6打包成EXE可執(zhí)行程序的實現(xiàn)
這篇文章主要介紹了Python 3.6打包成EXE可執(zhí)行程序的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10
Python 轉(zhuǎn)換數(shù)據(jù)類型函數(shù)和轉(zhuǎn)換數(shù)據(jù)類型的作用
這篇文章主要介紹了Python 轉(zhuǎn)換數(shù)據(jù)類型函數(shù)和轉(zhuǎn)換數(shù)據(jù)類型的作用,圍繞Python 轉(zhuǎn)換數(shù)據(jù)類型的相關(guān)資料展開內(nèi)容,具有一定的參考價值,需要的小伙伴可以參考一下2022-03-03
pycharm軟件實現(xiàn)設(shè)置自動保存操作
這篇文章主要介紹了pycharm軟件實現(xiàn)設(shè)置自動保存操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python3.4實現(xiàn)遠程控制電腦開關(guān)機
這篇文章主要為大家詳細介紹了Python3.4實現(xiàn)遠程控制電腦開關(guān)機的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-02-02

