本文實例為大家分享了Python實現學生成績管理系統的具體代碼,供大家參考,具體內容如下
基本功能:
輸入并存儲學生的信息:通過輸入學生的學號、姓名、和分數,然后就可以把數據保存在建立的student文件里面。
打印學生的所有信息:通過一個打印函數就可以把所有的信息打印在屏幕上。
修改學生信息:這個功能首先通過查詢功能查詢出該學生是否存在,如果存在就對該學生的信息進行修改,如果不存在則返回到主界面。
刪除學生信息:該功能是對相應的學生進行刪除操作,如果學生存在就查找到進行刪除。
按學生成績進行排序: 這個功能是按照學生的成績進行排序,對學生的信息進行操作。
查找學生信息:這個功能通過輸入學號,查找該學生的信息,如果有該學號就輸出該學生的信息,沒有該學號就提示輸入的學號不存在。
初始化功能
系統在開始使用之前先進行初始化功能,判斷students.txt文件中是否保存的有學生的信息,如果有就把文件的內容讀取出來,供接下來的操作使用,如用沒有就初始化一個空的列表,用來保存用戶的輸入,程序中接下來的所有數據都會保存在該列表中相當與一個數據緩沖區。
首先是打開文件操作,對文件中的內容進行讀取操作,由于在文件中保存的內容是由空格進行分割的,并且每一個學生的信息都占用一行,首先讀出所有的內容,先進行按照換行進行分割,得到每個人的信息,然后再對每個人的信息進行安裝空格分隔,得到每個人的詳細信息包括用戶的姓名,學號,成績。
def Init(stulist): #初始化函數  print "初始化......"  file_object = open('students.txt', 'r')  for line in file_object:   stu = Student()   line = line.strip("/n")   s = line.split(" ")   stu.ID = s[0]   stu.name = s[1]   stu.score = s[2]  stulist.append(stu) print "初始化成功!" 成績排序實現
這部分代碼是按照學生成績的高低進行排序,在實現的時候,首先是把所有人的成績放到一個列表里面然后使用插入排序,按照成績的大小對StuList中保存的學生信息的地址進行排序
def Sort(stulist): #按學生成績排序 Stu = [] sum_count = [] for li in stulist: temp = [] temp.append(li.ID) temp.append(li.name) temp.append(int(li.score1)) temp.append(int(li.score2)) temp.append(int(li.score3)) temp.append(int(li.sum)) sum_count.append(int(li.sum)) Stu.append(temp) #print sum_count #print Stu; #print stulist insertSort(sum_count, stulist) #print stulist; display(stulist)def insertSort(a, stulist): for i in range(len(a)-1): #print a,i for j in range(i+1,len(a)): if a[i]<a[j]: temp = stulist[i] stulist[i] = stulist[j] stulist[j] = temp
新聞熱點
疑難解答