今日运势占卜
20年3月15日 · 一桶奶盖 2006 人阅读
这份作业的灵感来源于星座占卜,因此我希望设计一个程序可以在接收用户的姓名、性别以及年龄之后,为用户量身打造一个占卜平台。
具体使用方法可以参考菜单栏中的其他→帮助,有提示窗口简单描述了使用程序的办法。
菜单中业务那一栏中有注册和退出两个按钮。
运行窗口图片
修改前的界面图
修改后界面图
第三次修改界面图
内置的功能包括:
①计数,用以判断今日已经运行了几次该占卜程序
②生成今日运势的星星数目
③根据用户的性别和年龄给出个性化的占卜结果(语句特征)
④存储个人信息(但是一定一定得通过菜单栏→业务→退出的按钮才有保存信息的功能)
第二次修改后的改进:
①之前的程序不能记住每一个用户的信息,并且针对这个用户来进行占卜的纪录次数。
修改措施:增设列表和字典,分别进行人物的索引和信息的记录。
为每一个用户创建一个类对象,在类对象中增设私有属性count和对应的计数方法。
②之前的程序不能做到界面的清空,多次占卜之后界面会有很多的冗余占卜信息。
修改措施:在占卜的command函数里采用config函数动态刷新label文本框内容,使得信息不会进行叠加。
第三次修改后的改进:
①增加了个人统计功能,可以统计个人的累计获得的星星数量
②加入了文件功能,可以记录下每个人的星星数量,方便查询
③实现了程序的整体模块化,添加了GUI函数和main函数
但还是有一些小问题:
由于我对于存储信息是另设置了一个字典,只能在每次程序运行的时候更新个人的总星星数量,关闭文件后就没有重新处理先前数据的功能,因为只是在原有数据上增加(a的文件打开模式),如果之后有相同的人使用,在文件里就会出现两个同姓名的星星数量记录。
在第一次设计中我遇到的困难:
①如果想让这个界面能变得更加user-friendly的话,我是希望能够把占卜结果也显示在这个交互窗口内。但我尝试创建了一个label窗口插入我的这句话,发现label里面的语句无法清零,每次叠加输出,会导致累计输出越来越长,非常影响美观...没有特别好的办法于是无奈放弃
②如果这个程序在用户点击注册之后能根据这个用户的id存储他的占卜次数,那么会更显得人性化,而不是单纯对于单机占卜的次数进行计数。然而在书写文件和检索文件这个过程中我遇到了困难,因此这个功能暂时也没办法实现。
实现代码
修改前的代码
修改后的代码
第三次修改的代码
Python3Turtle