沧州三亚菏泽经济预测自然
投稿投诉
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产
菏泽德阳
山西湖州
宝鸡上海
茂名内江
三亚信阳
长春北海
西安安徽
黄石烟台
沧州湛江
肇庆鹤壁
六安韶关
成都钦州

python超详细实现完整学生成绩管理系统

5月5日 温柔冢投稿
  读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用Python实现一个完整版学生成绩管理系统,大家可以在过程中查缺补漏,提升水平学生成绩管理系统简介
  一个带有登录界面具有增减改查功能的学生成绩管理系统(面向对象思想,利用tkinter库进行制作,利用。txt文件进行存储数据)
  源代码
  仅供学习参考,最好还是自己多敲多练习(实践是检验真理的唯一标准)students。txt
  用于存储数据main。pyfromtkinterimportfromLoginimportimporttkinterastkroottk。Tk()root。title(欢迎进入学生成绩管理系统)LoginPage(root)root。mainloop()Login。pyfromtkinterimportfromtkinter。messageboximportfromMenuPageimportclassLoginPage(object):definit(self,masterNone):self。rootmaster定义内部变量rootself。root。geometry(dxd(300,180))设置窗口大小self。usernameStringVar()self。passwordStringVar()self。createPage()defcreatePage(self):self。pageFrame(self。root)创建Frameself。page。pack()Label(self。page)。grid(row0,stickW)Label(self。page,text账户:)。grid(row1,stickW,pady10)Entry(self。page,textvariableself。username)。grid(row1,column1,stickE)Label(self。page,text密码:)。grid(row2,stickW,pady10)Entry(self。page,textvariableself。password,show)。grid(row2,column1,stickE)Button(self。page,text登陆,commandself。loginCheck)。grid(row3,stickW,pady10)Button(self。page,text退出,commandself。page。quit)。grid(row3,column1,stickE)defloginCheck(self):nameself。username。get()passwordself。password。get()ifnamehacker707andpasswordadmin:self。page。destroy()MenuPage(self。root)else:showinfo(title错误,message账号或密码错误!)db。pyimportjsonclassStudentDB(object):definit(self):self。students〔〕self。loadstudentsdata()definsert(self,student):self。students。append(student)print(self。students)defall(self):returnself。studentsdefdeletebyname(self,name):删除数据forstudentinself。students:ifnamestudent〔name〕:self。students。remove(student)breakelse:returnFalsereturnTrue查询defsearchbyname(self,name):forstudentinself。students:ifnamestudent〔name〕:returnstudent姓名成绩else:returnFalse修改defupdate(self,stu):修改数据namestu〔name〕forstudentinself。students:ifnamestudent〔name〕:student。update(stu)returnTrueelse:returnFalse加载文件defloadstudentsdata(self):withopen(students。txt,r,encodingutf8)asf:textf。read()iftext:self。studentsjson。loads(text)保存数据defsavedata(self):withopen(students。txt,w,encodingutf8)asf:textjson。dumps(self。students,ensureasciiFalse)f。write(text)dbStudentDB()MenuPage。pyimporttkinterastkfromviewimportclassMenuPage(object):definit(self,masterNone):self。rootmasterself。root。geometry(dxd(600,400))self。createpage()self。inputpageInputFrame(self。root)self。querypageQuerryFrame(self。root)self。deletepageDeleteFrame(self。root)self。updatepageUpdateFrame(self。root)self。aboutpageAboutFrame(self。root)self。inputpage。pack()defcreatepage(self):创建菜单对象menubartk。Menu(self。root)addcommand添加menubar。addcommand(label录入,commandself。inputdata)labelmenubar。addcommand(label查询,commandself。querydata)labelmenubar。addcommand(label删除,commandself。deletedata)labelmenubar。addcommand(label修改,commandself。updatedata)labelmenubar。addcommand(label关于,commandself。aboutdata)label设置菜单栏self。root。config(menumenubar)切换界面definputdata(self):self。inputpage。pack()self。updatepage。packforget()self。deletepage。packforget()self。aboutpage。packforget()self。querypage。packforget()defquerydata(self):self。inputpage。packforget()self。querypage。pack()self。updatepage。packforget()self。deletepage。packforget()self。aboutpage。packforget()defupdatedata(self):self。inputpage。packforget()self。updatepage。pack()self。deletepage。packforget()self。aboutpage。packforget()self。querypage。packforget()defdeletedata(self):self。inputpage。packforget()self。updatepage。packforget()self。deletepage。pack()self。aboutpage。packforget()self。querypage。packforget()defaboutdata(self):self。inputpage。packforget()self。updatepage。packforget()self。deletepage。packforget()self。aboutpage。pack()self。querypage。packforget()view。pyimporttkinterastkfromdbimportdbfromtkinterimportttk录入类classInputFrame(tk。Frame):definit(self,masterNone):super()。init(master)self。rootmasterself。nametk。StringVar()self。mathtk。StringVar()self。chinesetk。StringVar()self。englishtk。StringVar()self。statustk。StringVar()self。createpage()defcreatepage(self):tk。Label(self)。grid(row0,sticktk。W,pady10)tk。Label(self,text姓名:)。grid(row1,sticktk。W,pady10)单行文本框entry,textvariable绑定变量tk。Entry(self,textvariableself。name)。grid(row1,column1,sticktk。E)tk。Label(self,text数学:)。grid(row2,sticktk。W,pady10)单行文本框entry,textvariable绑定变量tk。Entry(self,textvariableself。math)。grid(row2,column1,sticktk。E)tk。Label(self,text语文:)。grid(row3,sticktk。W,pady10)单行文本框entry,textvariable绑定变量tk。Entry(self,textvariableself。chinese)。grid(row3,column1,sticktk。E)tk。Label(self,text英语:)。grid(row4,sticktk。W,pady10)单行文本框entry,textvariable绑定变量tk。Entry(self,textvariableself。english)。grid(row4,column1,sticktk。E)tk。Button(self,text录入,commandself。recodestudent)。grid(row5,column1,sticktk。E,pady10)tk。Label(self,textvariableself。status)。grid(row6,column1,sticktk。E,pady10)录入成绩defrecodestudent(self):student{name:self。name。get(),math:self。math。get(),chinese:self。chinese。get(),english:self。english。get(),}一个学生的成绩db。insert(student)get()得到值set()设置值self。status。set(插入数据成功!)self。cleardata()db。savedata()清空文本数据defcleardata(self):self。name。set()self。math。set()self。chinese。set()self。english。set()查询类classQuerryFrame(tk。Frame):definit(self,masterNone):super()。init(master)self。rootmasterself。createpage()创建查询界面defcreatepage(self):self。createtreeview()self。showdataframe()grid()tk。Button(self,text刷新数据,commandself。showdataframe)。pack(anchortk。E,pady5)Treeviewdefcreatetreeview(self):表头columns(name,chinese,math,english)self。treeviewttk。Treeview(self,showheadings,columnscolumns)self。treeview。column(name,width80,anchorcenter)self。treeview。column(chinese,width80,anchorcenter)self。treeview。column(math,width80,anchorcenter)self。treeview。column(english,width80,anchorcenter)self。treeview。heading(name,text姓名)self。treeview。heading(chinese,text语文)self。treeview。heading(math,text数学)self。treeview。heading(english,text英语)self。treeview。pack()显示数据defshowdataframe(self):删除原节点map(int,值)foriinmap(self。treeview。delete,self。treeview。getchildren()):pass拿到列表里面所有值、students〔〕studentsdb。all()同时拿到索引跟value值forindex,stuinenumerate(students):self。treeview。insert(,index,values(stu〔name〕,stu〔chinese〕,stu〔math〕,stu〔english〕))classDeleteFrame(tk。Frame):definit(self,masterNone):super()。init(master)tk。Label(self,text删除数据)。pack()self。statustk。StringVar()self。denametk。StringVar()获取删除学生的姓名self。createpage()创建界面defcreatepage(self):tk。Label(self,text根据姓名删除信息)。pack(anchortk。W,padx20)e1tk。Entry(self,textvariableself。dename)e1。pack(sidetk。LEFT,padx20,pady5)tk。Button(self,text删除,commandself。delete)。pack(sidetk。RIGHT)tk。Label(self,textvariableself。status)。pack()删除defdelete(self):nameself。dename。get()print(name)resultdb。deletebyname(name)ifresult:self。status。set(f{name}已经被删)self。dename。set()else:self。status。set(f{name}不存在)classUpdateFrame(tk。Frame):definit(self,masterNone):super()。init(master)self。rootmastertk。Label(self,text修改界面)。pack()self。changeframetk。Frame(self)self。changeframe。pack()self。nametk。StringVar()self。mathtk。StringVar()self。chinesetk。StringVar()self。englishtk。StringVar()self。statustk。StringVar()self。createpage()defcreatepage(self):tk。Label(self。changeframe)。grid(row0,sticktk。W,pady10)tk。Label(self。changeframe,text姓名:)。grid(row1,sticktk。W,pady10)单行文本框entry,textvariable绑定变量tk。Entry(self。changeframe,textvariableself。name)。grid(row1,column1,sticktk。E)tk。Label(self。changeframe,text数学:)。grid(row2,sticktk。W,pady10)单行文本框entry,textvariable绑定变量tk。Entry(self。changeframe,textvariableself。math)。grid(row2,column1,sticktk。E)tk。Label(self。changeframe,text语文:)。grid(row3,sticktk。W,pady10)单行文本框entry,textvariable绑定变量tk。Entry(self。changeframe,textvariableself。chinese)。grid(row3,column1,sticktk。E)tk。Label(self。changeframe,text英语:)。grid(row4,sticktk。W,pady10)单行文本框entry,textvariable绑定变量tk。Entry(self。changeframe,textvariableself。english)。grid(row4,column1,sticktk。E)按钮tk。Button(self。changeframe,text查询,commandself。search)。grid(row6,column0,sticktk。W,pady10)tk。Button(self。changeframe,text修改,commandself。change)。grid(row6,column1,sticktk。E,pady10)tk。Label(self。changeframe,textvariableself。status)。grid(row7,column1,sticktk。E,pady10)查询defsearch(self):nameself。name。get()studentdb。searchbyname(name)ifstudent:self。math。set(student〔math〕)self。chinese。set(student〔chinese〕)self。english。set(student〔english〕)self。status。set(f查询到{name}同学的信息)else:self。status。set(f没有查询到{name}同学的信息)更改成绩defchange(self):nameself。name。get()mathself。math。get()chineseself。chinese。get()englishself。english。get()stu{name:name,math:math,chinese:chinese,english:english,}rdb。update(stu)ifr:self。status。set(f{name}同学的信息更新完毕)else:self。status。set(f{name}同学的信息更新失败)classAboutFrame(tk。Frame):definit(self,masterNone):super()。init(master)self。rootmasterself。createpage()defcreatepage(self):tk。Label(self,text关于本作品(人生苦短,我用python))。pack(anchortk。W)
  原文链接:https:www。jb51。netarticle241166。htm
投诉 评论

python超详细实现完整学生成绩管理系统读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用Python实现一个完整版学生成绩管理系统,大家可以在过程中查缺补漏,提升……白色毛衣的8套搭配,从优雅到活泼,时髦拿捏冬日穿搭时尚秘诀头条创作挑战赛冬天的穿衣魅力,必须有白色毛衣的地位,颜色简洁干净,又很提升穿衣质感。而且,白色毛衣还有花式搭配法,今天我就来为大家整理了8套搭配,让每个女生都能实用简单的……中菲学者两国合作潜力巨大,黄金时代刚刚开始中新网3月28日电(记者何路曼)中国和菲律宾之间的黄金时代才刚刚开始,未来菲律宾与中国的关系将更加充满活力,更加稳固。3月26日,中国人民大学国际货币研究所(IMI)和海南海洋……血糖高的人,身体会出现4个明显的症状,别忽视血糖持续升高,如果不控制,可能会发展成糖尿病。所以,如果注意到自己的血糖过高,就要积极控制血糖,否则可能会演变成糖尿病,威胁身体健康。高血糖一般症状不明显,常见的有多尿、多饮、……拾句东野圭吾笔下惊艳的句子我已经无路可走图源网络侵删壹你的任务,就是珍惜你自己的人生。而且还要比之前更加珍惜。《盛夏的方程式》贰软弱的人总是怕被说穿事实,而且讨厌说真话的人。《变身……关注儿童健康成长,3岁男童生殖器官包皮过长是正常的吗?朋友告诉我,她儿子是在家里她家婆帮忙带的,她儿子现在3岁了,有一次她家婆发现她儿子在排尿时有点吃力,还有穿上裤子后断断续续还会有一些尿液滴到了裤子上,因为她家婆以前带小孩没有出……最贵居然要968元?全部7台12周年庆礼包坦克大盘点军械库纪念商店各位车长老爷们大家好啊。wot十二周年庆在昨天已于游戏内开启,大家可以在军械库周年纪念商店里找到周年庆活动销售的东西,用代币兑换的东西都在这。不过WG也不失……浏阳河词作者徐叔华病逝!享年90岁,曾维权为自己署名十多年浏阳河,弯过了几道弯,几十里水路到湘江这一段经典的歌曲想必大家都听过。据媒体报道,《浏阳河》词作者徐叔华于11月30日病逝于北京,享年90岁。据悉,徐叔华是湖南长沙……十天三十场,英超圣诞新年开快车!英超三头马车抢分争冠圣诞快乐!MerryChristmas!虽然英国受到新型变种病毒肆虐,由十二月初英超多场联赛被逼腰斩改期,但无阻英超今季续有圣诞新年快车档期上演,由明日(12月26日)开始,十……数字人民币APP又更新了!新增两大功能,过年可以发数字人民币今年过年,用户可以在微信、QQ、支付宝等社交平台给亲朋好友发数字人民币红包了。近日,数字人民币App再次完成版本更新,增加了专属头像、现金红包两大功能。其中,现金红包又包……云南特色美食云南不仅是旅游胜地,还是美食之都。这里的美食非常多,什么撒撇、手抓饭、大理生皮、野生菌、汽锅鸡、火腿,多得不得了!今天,和大家介绍一道菜吹肝!吹肝是滇西北各民族(白……行走嘉陵故道,遇见徐家坪位于陕西汉中市略阳县城以北18公里处的徐家坪镇,长江最大支流嘉陵江和中国第一条电气化铁路宝成铁路穿境而过,这里不仅是汉三颂之一《郙阁颂》故里,还是红二方面军曾经战斗过的地方。……
国宝秘方百治百愈胆结石柴胡白芍汤孙中山造句用孙中山造句大全商鞅死后秦国是怎么让商鞅变法继续实行下去的惊蛰大结局陈山余小晚重逢陈山余小晚在一起了吗世界十大鬼才音乐人最具影响力的鬼才音乐人分之造句用分之造句大全严母慈父让我的童年苦乐参半为什么诸葛亮越来越受到后人的质疑打捞传奇网事妈妈忏悔育儿路上的过错名师工作室构建汇报及工作计划黑天鹅事件灰犀牛蝴蝶效应你真的看懂这些管理名词吗金星的表面真的发现了为数众多的城市遗址吗?薄煎饼的特殊作用呆萌可爱短句可爱到爆炸的简短句子如何做好孕中期营养比特币最近的暴跌真的跟特斯拉CEO马斯克有关吗?穿鞋子脚出汗怎么办穿皮鞋会出汗的解决方法20多年来,长野冬奥场馆连续盈利,日本人盈利背后有着怎样的奥自研解药,治疗休息不好脑子一锅粥,干啥啥不顺猫的困惑蜗牛活期存款计息规则有哪些500字左右的哲理故事(精选三篇)

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找