**如下:
studentlist = # 儲存學生資訊的列表
def menu():
# 輸出選單
print('''
學生資訊管理系統
*************** 功能選單 ***************
│ 1 錄入學生資訊 │
│ 2 查詢學生資訊 │
│ 3 刪除學生資訊 │
│ 4 修改學生資訊 │
│ 5 排序 │
│ 6 統計學生總人數 │
│ 7 顯示所有學生資訊 │
│ 0 退出系統
''')
def main():
ctrl=true
while ctrl:
menu()
opion_str=int(input('請選擇》'))
if opion_str==0:
print('exit')
ctrl=false
elif opion_str==1:
insert()
elif opion_str==2:
search()
elif opion_str==3:
delete()
elif opion_str==4:
modify()
elif opion_str==5:
sort()
elif opion_str==6:
total()
elif opion_str == 7:
show_student()
def insert():
mark=true
while mark:
id_=input('請輸入id:')
name_=input('請輸入name:')
english=int(input('請輸入英語成績:'))
python=int(input('請輸入python成績:'))
c_=int(input('請輸入c成績:'))
student=
y=input('是否繼續要新增:y/n >>>')
if y=='y':
mark=true
else:
mark=false
def search():
global id, name # id、name在for內使用需要在for外宣告
mark=true
while mark:
mode=input('id查詢按1,name查詢按2 >>> ')
if mode=='1':
id =input('請輸入id:')
else:
name =input('請輸入name:')
student_query=
for d in studentlist: # for內使用id、name時需要在外部宣告,否則python認為id、name是for內沒有定義的區域性變數,會報錯。
if d["id_"] == id:
elif d["name_"] == name:
show_student(student_query)
student_query.clear()
y=input('是否繼續查詢:y/n >>>')
if y=='y':
mark=true
else:
mark=false
def delete():
mark=true
while mark:
del_name=input('請輸入要刪除的name:')
for d in studentlist:
if d['name_']== del_name :
studentlist.remove(d)
show_student(studentlist)
y = input('是否繼續刪除:y/n >>>')
if y == 'y':
mark = true
else:
mark = false
def modify():
mark=true
while mark:
name1=input('請輸入要修改的name >>>')
for d in studentlist:
if d['name_'] == name1:
sub_ject=input('請輸入要修改的型別:id、english score、python score、c score>>>')
if sub_ject=='id':
id2=input('請輸入修改後的id:')
d['id_']=id2
show_student(studentlist)
elif sub_ject=='english score':
e_score=int(input('請輸入修改後的english score:'))
d['english']=e_score
show_student(studentlist)
elif sub_ject=='python score':
p_score=int(input('請輸入修改後的python score:'))
d['python']=p_score
show_student(studentlist)
elif sub_ject=='c score':
c_score=int(input('請輸入修改後的c score:'))
d['c']=c_score
show_student(studentlist)
else:
print('未找到對應型別'.center(30, '*'))
else:
print('未找到對應name'.center(30,'*'))
show_student(studentlist)
y = input('是否繼續修改學生資訊:y/n >>>')
if y == 'y':
mark = true
else:
mark = false
def sort():
mode = input("請選擇排序方式(1按英語成績排序;2按python成績排序;3按c語言成績排序;0按總成績排序):")
if mode == "1": # 按英語成績排序
studentlist.sort(key=lambda x: x["english"])
elif mode == "2": # 按python成績排序
studentlist.sort(key=lambda x: x["python"])
elif mode == "3": # 按c語言成績排序
studentlist.sort(key=lambda x: x["c"])
elif mode == "0": # 按總成績排序
studentlist.sort(key=lambda x: x["english"] + x["python"] + x["c"])
else:
print("您的輸入有誤,請重新輸入!")
sort()
show_student() # 顯示排序結果
def total():
count=0
for d in studentlist:
count+=1
print('一共有%d個學生'.center(30,'*')%(count))
#將studentlist = # 儲存學生資訊的列表 顯示出來
def show_student(studentlist=studentlist):
from prettytable import prettytable
column=['id','name','english score','python score','c score','sum score']
table= prettytable(field_names=column)
for info in studentlist: #info是乙個字典
sum_score=info.get('english')+info.get('python')+info.get('c') #get獲取對應value值
row=list(info.values()) #info.values()為([1,2,3])所有對應value值組成列表放入元組中
table.add_row(row)#按行新增value值
print(table)
if __name__ == '__main__':
main()
time.sleep(3600)
terminal輸入:pyinstaller -f -i 圖示.ico 學生資訊管理系統.py
學生資訊管理系統
學生資訊管理系統,顧名思義就是為了管理學生的相關資訊做的一款軟體。雖然這次有原始碼供我們參考,但是從中我學習到了如何從開始到完工去做一款軟體,下邊我從做一項軟體專案的前後順序來總結我的學生資訊管理系統。一,分析需求 首先在做這款軟體是,我們先想象乙個成品,他的功能有哪些,每個功能完成哪項任務,這就是...
學生資訊管理系統
1.背景描述 學校招生辦在錄取當年新生時為新生建立了乙個新生基礎資訊類studentbase,其中包含每位新生的基本資料 學號 long mnum 姓名 char mname 20 性別 int m 其中0表示男,1表示女 年齡 int mage 住址 char maddr 30 新生主修專業所在系...
學生資訊管理系統
學生資訊管理系統由13個窗體1乙個mdi窗體乙個模組組成,窗體主要實現了登陸 新增 修改 檢視等功能,模組主要是存放全域性變數和各種函式。在敲這個系統之前,我覺得有個問題需要考慮一下,要是想一邊敲一邊除錯的話,那前面就得把資料庫等配置好了,如果想敲完再除錯的話,那就什麼時候配置好資料庫都可以。我當時...