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