本文大多為大伙兒闡述了Python如何運用詞典和目錄完成1個簡單的學生們信息系統,原文中詳盡注解,便捷了解,所需要的可以了解一下
本文運用Python里的詞典和目錄完成學生們信息系統
文件信息儲放文件格式所采用的是python內置的pickle控制模塊,必須新創建course.txt和student.txt供程序流程讀寫能力。
以下是實例編碼
import pickle #從文件中讀取學生信息并返回 def readStudent(): with open("student.txt",'rb')as f: try: return pickle.load(f) #讀取失敗,說明讀取的文件為空,返回空列表即可 except EOFError: return[] #保存學生信息student_list到文件student.txt中 def saveStudent(student_list): with open("student.txt",'wb')as f: pickle.dump(student_list,f) #增加學生信息 def addStudent(student_list): id=input("請輸入要增加的學生學號:") name=input("請輸入要增加的學生姓名:") sex=input("請輸入要增加的學生性別:") specialty=input("請輸入要增加的學生專業班級:") #把這4個數據裝入字典student中 student={"學號":id,"姓名":name,"性別":sex,"專業班級":specialty} #把字典student添加到列表student_list中 student_list.append(student) #刪除學生信息 def deleteStudent(student_list): id=input("請輸入要刪除的學生學號:") for i in range(0,len(student_list)): #student_list<i>是一個字典 if student_list<i>["學號"]==id: #刪除student_list中的第i個字典 student_list.pop(i) print("刪除成功!") return#結束函數 print("刪除失敗,未查詢到該學生。") #修改學生信息 def modifyStudent(student_list): id=input("請輸入要修改的學生學號:") for i in range(0,len(student_list)): if student_list<i>["學號"]==id: id=input("請輸入修改后的學生學號:") name=input("請輸入修改后的姓名:") sex=input("請輸入修改后的性別:") specialty=input("請輸入修改后的專業班級:") #把這4個數據裝入字典student中 student={"學號":id,"姓名":name,"性別":sex,"專業班級":specialty} #用student替換student_list中的第i個字典 student_list<i>=student print("修改成功!") return#結束函數 print("修改失敗,未查詢到該學生。") #顯示所有學生信息 def showStudent(student_list): print("學號tt姓名tt性別tt專業班級") for student in student_list: print("%stt%stt%stt%s"%(student["學號"],student["姓名"],student["性別"],student["專業班級"])) #從文件中讀取學生成績信息 def readCourse(): with open("course.txt",'rb')as f: try: return pickle.load(f) #讀取失敗,說明讀取的文件為空,返回空列表即可 except EOFError: return[] #保存學生成績信息course_list到文件course.txt中 def saveCourse(course_list): with open("course.txt",'wb')as f: pickle.dump(course_list,f) #增加學生成績信息 def addCourse(course_list): id=input("請輸入要增加的學生學號:") english=int(input("請輸入該學生的英語成績:")) math=int(input("請輸入該學生的數學成績:")) computer=int(input("請輸入該學生的計算機成績:")) chemistry=int(input("請輸入該學生的化學成績:")) PE=int(input("請輸入該學生的體育成績:")) #把這6個數據裝入字典course中 course={"學號":id,"英語":english,"數學":math,"計算機":computer,"化學":chemistry,"體育":PE} #把字典course添加到列表course_list中 course_list.append(course) #刪除學生成績信息 def deleteCourse(course_list): id=input("請輸入要刪除的學生學號:") for i in range(0,len(course_list)): #course_list<i>是一個字典 if course_list<i>["學號"]==id: #刪除列表中的第i個字典 course_list.pop(i) print("刪除成功!") return#結束函數 print("刪除失敗,未查詢到該學生成績。") #修改學生成績信息 def modifyCourse(course_list): id=input("請輸入要修改的學生學號:") for i in range(0,len(course_list)): if course_list<i>["學號"]==id: id=input("請輸入修改后的學生學號:") english=int(input("請輸入修改后的英語成績:")) math=int(input("請輸入修改后的數學成績:")) computer=int(input("請輸入修改后的計算機成績:")) chemistry=int(input("請輸入修改后的化學成績:")) PE=int(input("請輸入修改后的體育成績:")) #把這6個數據裝入字典course中 course={"學號":id,"英語":english,"數學":math,"計算機":computer,"化學":chemistry,"體育":PE} #用dict替換舊的數據 course_list<i>=course print("修改成功!") return#結束函數 print("修改失敗,未查詢到該學生成績。") #顯示學生成績信息 def showCourse(course_list): print("學號tt英語tt數學tt計算機tt化學tt體育") for course in course_list: print("%stt%dtt%dtt%dtt%dtt%d"%(course["學號"],course["英語"],course["數學"], course["計算機"],course["化學"],course["體育"])) #通過姓名查詢該生的成績信息 def searchScoreByName(student_list,course_list): name=input("請輸入學生姓名:") id="未查詢到" for stu in student_list: if stu["姓名"]==name: id=stu["學號"] break if id=="未查詢到": print("未查詢到該學生信息。") return#結束函數 for course in course_list: if course["學號"]==id: print("查詢成功!該學生信息如下:") print("學號tt英語tt數學tt計算機tt化學tt體育") print("%stt%dtt%dtt%dtt%dtt%d"%(course["學號"],course["英語"],course["數學"], course["計算機"],course["化學"],course["體育"])) return#結束程序 print("未查詢到該學生成績信息。") #查詢某門課程得分最高的學生信息 def searchStudentByHighScore(student_list,course_list): courseName=input("請輸入課程名稱:") #按這門課程冒泡排序 for i in range(0,len(course_list)-1): for j in range(0,len(course_list)-1-i): if course_list[j][courseName]<course_list[j+1][courseName]: course_list[j],course_list[j+1]=course_list[j+1],course_list[j] id=course_list[0]["學號"] for student in student_list: if student["學號"]==id: print("查找成功!") print("學號tt姓名tt性別tt專業班級") print("%stt%stt%stt%s"%(student["學號"],student["姓名"],student["性別"],student["專業班級"])) return print("未查找到該學生信息。") #輸出某門課的平均成績 def outputAverageScore(course_list): courseName=input("請輸入課程名稱:") sum=0 for course in course_list: sum+=course[courseName] print("%s平均成績為%.2f"%(courseName,sum/len(course_list))) #主菜單 def menu(): print("1.增加學生信息2.增加成績信息") print("3.修改學生信息4.修改成績信息") print("5.刪除學生信息6.刪除成績信息") print("7.顯示學生信息8.顯示成績信息") print("9.通過姓名查詢該生的成績信息") print("10.查詢某門課程得分最高的學生信息") print("11.輸出某門課的平均成績") print("0.保存并退出") #主函數 def main(): student_list=readStudent() course_list=readCourse() flag=True while flag: menu() choose=input("請輸入選項:") while True: #增加學生信息 if choose=='1': addStudent(student_list) break #增加成績信息 elif choose=='2': addCourse(course_list) break #修改學生信息 elif choose=='3': modifyStudent(student_list) break #修改成績信息 elif choose=='4': modifyCourse(course_list) break #刪除學生信息 elif choose=='5': deleteStudent(student_list) break #刪除成績信息 elif choose=='6': deleteCourse(course_list) break #顯示學生信息 elif choose=='7': showStudent(student_list) break #顯示成績信息 elif choose=='8': showCourse(course_list) break #通過姓名查詢該生的成績信息 elif choose=='9': searchScoreByName(student_list,course_list) break #查詢某門課程得分最高的學生信息 elif choose=='10': searchStudentByHighScore(student_list,course_list) break #輸出某門課的平均成績 elif choose=='11': outputAverageScore(course_list) break #保存數據并退出 elif choose=='0': saveStudent(student_list) saveCourse(course_list) flag=False break else: choose=input("輸入錯誤,請重新輸入:") if __name__=='__main__': main()
到這里這篇文章有關Python運用詞典和目錄完成學生們信息系統的帖子就分享到這了,希望可以給大家帶來幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128733.html
摘要:復雜系統仿真的微博客虛假信息擴散模型研究面向影子分析的社交媒體競爭情報搜集面向人機協同的移動互聯網政務門戶探析經驗證。微博客的企業競爭情報搜集移動社交媒體用戶隱私保護對策研究注意這里的提示,原先的個文件沒有被再次抽取,只有個新文件被抽取。 showImg(https://segmentfault.com/img/bVbiU7y?w=1000&h=508); 本文為你展示,如何用Pyth...
目錄生成式基礎語法 [expforiter_variniterable(ifconditional)] 基本原理: 最先迭代更新iterable里全部內容,每次迭代更新,都把iterable里對應的具體內容放在iter_var中,然后把關系式exp運用該iter_var的具體內容,依據標準進行分類 然后用關系式計算值形成一個全新的目錄 先于for和if循環系統: 1、比for循環快...
摘要:火爆是當今非常熱門的語言之一,根據年月編程語言排行,榮獲年度編程語言稱號,并且其流行度依然處在上升勢頭。學習完技能樹之后,你將進入編程的大門,明白編程的作用,建立編程的興趣方法和習慣。 ? 作者主頁:不吃西紅柿? ? 簡介:CSDN博客專家?、HDZ核心組成員? 、Python領域優質創作者...
小伙伴們好,此篇文章主要是跟大家分享13個Python中非常有利的代碼片段,有興趣的同學們趕緊來看一下吧,對大家有所幫助得話不要忘記保存以下 ListsSnippets 大家從最常見的算法設計目錄剛開始 1.把兩個目錄合拼成詞典 假定大家在Python中有兩種目錄,我希望把它們合并為詞典方式,其中的一個目錄的項做為詞典的鍵,另外做為值。這就是在用Python編寫代碼時經常碰到的一個很常...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1982·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02