目录

  • 一、增加“过程评价类”字段及“最后一次评价”字段
  • 二、修改脚本
    • 2.1 修改评卷脚本
    • 2.2 排序待听写内容

写下本篇内容,完全出于“让自己的思路看得见” ,技术层倒没有什么难点。核心思想:增加几个评价过程数据字段、并给最近评价结果以较高权重。最终实现 按正确率或错误率排序待听写内容的目的。

一、增加“过程评价类”字段及“最后一次评价”字段

我的数据结构中没有字段用以记录“总的错误次数、总的正确次数、最后一次评价结果、正确率等这些信息”。

【正确率算法】
如果最后一次为正确,正确率 = 总正确次数/(总次数)*80% + 最后一次的正确率100%*20%;
如果最后一次为错误,正确率 = 1-(总错误次数/(总次数)*80% + 最后一次的错误率100%*20%);

【正确率的应用】
按正确率对所要复习的内容排序,优先复习正确率低的。

【正确率使用特殊算法的原因】
放大最后一次评价的影响,因为最后一次复习的效果更能说明孩子当下掌握该知识点的程度。

二、修改脚本

2.1 修改评卷脚本

点击“正确”或“错误”按扭前,需要先获取到当前单词的“总正确次数”、“总错误次数”;然后更新过程表。脚本如下:

        # ###############获取当前单词的总正确次数、总错误次数qr_time = QtSql.QSqlQuery(self.db)qr_time.exec("SELECT a.word_id ,total_right_times,total_error_times,the_last_check"" FROM memory a  "" WHERE a.word_id = " + str(word_id))qr_time.last()errorTable = qr_time.lastError().text()if errorTable != '':  # 新数据库会是这样的情况 没有一条记录QMessageBox.warning(self, '提示:', errorTable)if qr_time.value(1) == '':total_right = 0else:total_right = int(qr_time.value(1))if qr_time.value(2) == '':total_error = 1else:total_error = int(qr_time.value(2)) + 1display_rate = 1-(total_error*0.7/(total_error+total_right) + 0.3)sql = " the_last_check = 'nopass', " \" total_error_times=" + str(total_error) + \" , right_rate = " + str(display_rate) +\" where word_id= " + str(word_id)if first_time.addDays(1) == QDate.currentDate():self.update_query.exec("update memory set first_day = 'nopass',  " + sql)elif first_time.addDays(2) == QDate.currentDate():self.update_query.exec("update memory set second_day = 'nopass',  " + sql)elif first_time.addDays(6) == QDate.currentDate():self.update_query.exec("update memory set sixth_day = 'nopass',  " + sql)elif first_time.addDays(14) == QDate.currentDate():self.update_query.exec("update memory set fourteenth_day = 'nopass' ,  " + sql)elif first_time.addDays(30) == QDate.currentDate():self.update_query.exec("update memory set thirtieth_day = 'nopass' ,  " + sql)# 五次复习总评 此次暂空else:self.update_query.exec("update memory set " + sql)

2.2 排序待听写内容

只需要在原显示脚本中,增加一个Order by right_rate项即可。如下:

    self.qrModel = QtSql.QSqlQueryModel(self)self.qrModel.setQuery("SELECT a.word_id as '单词ID', picture as '图片', word as '字词', means as '意思',first_time as '首次复习时间' ,pass_or_no as '评卷'"" FROM memory a , words b "" WHERE a.word_id = b.word_id and stu_id = '" + self.stu_id + "' and sub_id ='" + kemu_id + "'  and  (""first_time= '"  + QDate.currentDate().addDays(-1).toString('yyyy-MM-dd')+ "' or first_time= '"  + QDate.currentDate().addDays(-2).toString('yyyy-MM-dd')+ "' or first_time= '"  + QDate.currentDate().addDays(-6).toString('yyyy-MM-dd')+ "' or first_time= '" + QDate.currentDate().addDays(-14).toString('yyyy-MM-dd')+ "' or first_time= '" + QDate.currentDate().addDays(-30).toString('yyyy-MM-dd')+ "' or first_time= '" + QDate.currentDate().toString('yyyy-MM-dd') +"') ORDER BY a.right_rate, a.word_id desc  ")

最强大脑记忆曲线(9)——按错误频率排序待听写内容相关推荐

  1. 最强大脑记忆曲线(13)--应用程序的加密及授权码的实现

    加密和授权 一.python程序加密与授权的思考 二.python文件 加密 三.注册机代码 目前我的小项目"最强大脑记忆曲线"已经可以出1.0版了,发布之前的最后一个环节就是给应 ...

  2. 最强大脑记忆曲线(12)-- 录入数据修改

    录入数据修改 一.设计思路 二.解决过程 2.1 设计修改窗口 2.2 转成py文件 2.3 写业务逻辑 1.先显示一下基础页面 2.配合适配器,自动调整窗口大小 3.在数据录入窗口或背记窗口双击某条 ...

  3. html5 最强大脑最强记忆游戏

    html5 最强大脑最强记忆游戏,这是款煅练多维记忆和测试记忆力的游戏,源自江苏卫视最强大脑最强记忆. 一.白块模式: 迅速记住白块变灰的顺序,并按变灰顺序,重复点击一遍:若点击顺序出错,则" ...

  4. 计算机修改人类记忆曲线,遗忘曲线

    遗忘曲线由德国心理学家艾宾浩斯(H.Ebbinghaus)研究发现,描述了人类大脑对新事物遗忘的规律.人体大脑对新事物遗忘的循序渐进的直观描述,人们可以从遗忘曲线中掌握遗忘规律并加以利用,从而提升自我 ...

  5. 看最强大脑中英PK小记

    约束记录表 简朴 勤劳 谦虚 诚恳 禁止浪费 珍惜时间 虚心学习 纯心做人 0 0 0 - 节制 静默 条理 决断 不恋吃睡 开口有益 规整事务 坚持,迅捷 0 - 0 0 正直 中庸 整洁 宁静 贞 ...

  6. 计算机修改人类记忆曲线,遗忘曲线——揭秘人类记忆存储的奥秘

    文/元小元 人类遗忘曲线 生活中,我们经常会注意到有些人记忆事物的能力和记忆的时间远超常人,他们的学习能力也非常赞,只要是学习过的东西基本上都能记忆很长的时间,可是自己明明很努力的看甚至背诵,默念,尝 ...

  7. 《最强大脑第九季》C#手撸傅立叶残影题目

    在最新一季的最强大脑总决赛中,有一个比赛项目<傅立叶残影>感觉印象深刻.原理就是五根针首尾相连,按照自身的转速和杆长运动,根据提供的每根杆的转速和杆长来判断出尾部运动的残影轨迹.原理比较简 ...

  8. 最强大脑第二场战平听音神童!百度大脑小度声纹识别技术解析

    from: http://geek.csdn.net/news/detail/134398 日前,继在江苏卫视<最强大脑>第四季"人机大战"首轮任务跨年龄人脸识别竞赛中 ...

  9. c语言生成16进制随机数,C语言实战篇——模拟ATM取款机,最强大脑小游戏,进制转换,产生不同的随机数...

    2019.11.24 模拟ATM取款机 如图为登录界面 银行.png #include int main(){ printf("----------------------------\n& ...

  10. 因0x764fb11c的错误状态_《最强大脑》国际赛王易木又被质疑作弊,因背反答案露出了马脚?...

    <最强大脑之燃烧吧大脑>第二季国际赛最后一场,中国战队和国际战队在3V3的团战当中以绝对优胜的姿态拿下了本场比赛. 在观众为郑林楷.宋一骜以及王易木的成功感到高兴之际,有部分吃瓜群众跳出来 ...

最新文章

  1. 谷歌年初将推低价平板电脑 与亚马逊竞争
  2. SQLite header and source version mismatch解决方案
  3. php is_null、empty、isset的区别
  4. Javascript阻止表单提交
  5. 漫步线性代数十七——正交基和格拉姆-施密特正交化(上)
  6. Git笔记(37) 替换
  7. openGauss索引详解
  8. [python]python学习笔记(三)——编译
  9. Dematel模型的指标分析
  10. 深度学习系列43:引入注意力的SAGAN/BigGAN和big_sleep
  11. ISIS协议与Quagga ISIS配置
  12. 常用类/ID命名举例
  13. repo sync error.GitError: manifests rev-list : fatal: revision walk setup failed
  14. 【FFMPEG】H264码流的两种组织方式:AnnexB和AVCC
  15. android平台下OpenGL ES 3.0从零开始
  16. MySQL--增删改查
  17. 揭秘MOS管开关时米勒效应的详情
  18. Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行(含系列目录)。
  19. 网站内链优化,网站内部链接优化
  20. ipad忘记密码,显示iPad已停用 连接iTunes

热门文章

  1. Python爬虫进阶--js逆向 | 某某云加速参数加密分析
  2. 不是python文件打开的合法模式组合是_以下选项中,不是Python文件打开的合法模式组合是:...
  3. Intel Cyclone 10 GX 收发器的时钟网络
  4. Pt100铂电阻测温电路设计——
  5. linux ar3012蓝牙驱动,佳能 Bluetooth AR3012 驱动程序下载-更新佳能软件(蓝牙)
  6. php没有错误信息,php – 如何调试没有错误信息的错误?
  7. 厦门大学计算机专业录取分数线2019,2019厦门大学各省录取分数线是多少
  8. Oracle使用技巧
  9. qq空间java下载图片_使用JAVA爬取网页图片
  10. 针对QQ邮箱发邮件限制的解决方案