背景

需要使用记忆曲线复习英文,对于记忆曲线软件自己有如下需求:

  1. 容易上手,不用花费很多时间在学习使用教程上
  2. 支持网页端和mobile端,网页端进行规划和操作,mobile查看具体的计划
  3. 主要是提供提醒的功能,需要在哪个时间节点复习。自己更喜欢根据上下文复习内容,比如:重点单词和词组,笔记喜欢记在原文上,这样可以更好的关联上下文复习,记忆会更高效
    寻找了市面上的几个软件都不能符合自己的需求,自己不想花费太多时间在选择上

实现逻辑

  1. 首先确定复习目标
  2. 确定复习的时间节点 1, 2, 4, 7, 15天
  3. 编写python代码生成复习计划
  4. 确定复习计划的展现载体

具体实现

自己目前学习的是超实用英语口语1000句这本书,每天学习是1小节,学习过程中的重点和笔记是记在书上的,复习时根据上下文会对复习的内容有更深刻的理解,且会比较省时。
python脚本主要包含两个:

  1. 展示复习目标和复习的时间节点
  2. 展示每天的复习计划

    分别对应的python脚本如下
  3. 展示复习目标和复习的时间节点
    from datetime import date, timedeltaimport openpyxlfrom openpyxl.utils import get_column_letter# 打开目标文件的sheet页word_target = r'E:\target\english1000_memory.xlsx'sheet_name = 'arrange'target_book = openpyxl.load_workbook(word_target)target_sheet = target_book.get_sheet_by_name(sheet_name)# 获取文件最大的行数,可以增量叠加nrows = target_sheet.max_row# 需要复习的目标,根据自己的需求调整target = ['英语1000句复习part2']# 复习间隔,以天数为单位,根据自己的需求调整times = [1, 2, 4, 7, 15]  # 把复习的时间节点放到一个list里面time_list = []for a in times:review_time = date.today() + timedelta(0) + timedelta(a)  # 应复习的时间点time_list.append(review_time)# 生成复习计划并保存在excel表格中for i in range(0, len(target)):target_sheet[f'A{nrows + i + 1}'].value = target[i]for j in range(0, len(time_list)):column = get_column_letter(j + 2)target_sheet[f'{column}{nrows + i + 1}'].value = time_list[j]target_book.save(word_target)
  1. 展示每天的复习计划
    import openpyxlfrom openpyxl.utils import get_column_letterword_target = r'E:\target\english1000_memory.xlsx'sheet_name = 'arrange'# 打开excel中的arrange sheet,获取复习的内容和时间节点,生成每天的时间复习计划# 生成时间的setarrange_book = openpyxl.load_workbook(word_target)arrange_sheet = arrange_book.get_sheet_by_name(sheet_name)nrows = arrange_sheet.max_rowncols = arrange_sheet.max_columntime_list = []for i in range(2, nrows + 1):for j in range(2, ncols + 1):column = get_column_letter(j)time_list.append(arrange_sheet[f'{column}{i}'].value.strftime("%Y-%m-%d"))time_list = sorted(set(time_list))print(time_list)# 生成复习的dict,key是时间,value是每天的复习内容的listreview_dict = {}for time in time_list:review_dict_list = []for i in range(2, nrows + 1):for j in range(2, ncols + 1):column = get_column_letter(j)if arrange_sheet[f'{column}{i}'].value.strftime("%Y-%m-%d") == time:review_dict_list.append(arrange_sheet[f'A{i}'].value)review_dict[time] = list(sorted(set(review_dict_list)))print(review_dict)time_sheet_name = 'time'time_sheet = arrange_book.get_sheet_by_name(time_sheet_name)p = 2# 把刚刚的字典保存在excel中,column A是字典的key,其他的column是字典的valuefor time in review_dict.keys():time_sheet[f'A{p}'].value = timeq = 2for value in review_dict.get(time):column = get_column_letter(q)time_sheet[f'{column}{p}'].value = valueq += 1p += 1arrange_book.save(word_target)

最后使用稻壳的同步文件夹功能,保存到目标文件夹的内容可以随时同步到手机上,可以随时访问

python实现“艾宾浩斯”记忆曲线表相关推荐

  1. python 实时曲线_python实现“艾宾浩斯”记忆曲线表

    赫尔曼·艾宾浩斯(Hermann Ebbinghaus 1850.1.24-1909.2.26)德国心理学 家. 1.复习的原则 时间间隔:20分钟 1小时 8小时 1天 2天 6天 31天 重学节省 ...

  2. python 制作 艾宾浩斯记忆表

    最近在背英语单词,背得我开始怀疑人生.想想应该有方法的记忆,搜索了一波后发现艾宾浩斯记忆法很适合,于是便开始傻乎乎的手工制作记忆表. OK,花了半个小时手工做完第一张表后,接下来需要按行归纳.再归纳四 ...

  3. python实现艾宾浩斯抗遗忘曲线(记忆曲线)

    用python实现艾宾浩斯抗遗忘曲线(记忆曲线)学习复习计划表,代码如下 from datetime import date, timedeltatimes = [2, 5, 8, 15, 30, 6 ...

  4. 艾宾浩斯记忆表格excel_Excel全年学习复习计划表(艾宾浩斯遗忘曲线)

    最近准备考在职博士,刷刷学历,不得不又拿起必考的英语来,发现由于这几年敲代码,日常生活词汇忘了很多,只好买本考博词汇背诵,不过三十而立的人背起来确实费劲了,所以开始寻找好的背诵方法. 又想起了当年步步 ...

  5. 艾宾浩斯记忆表格excel_好的记忆方法是一切学习的关键(艾宾浩斯记忆法)

    记忆力是学习的关键:提高记忆力的方法:"艾宾浩斯记忆法"很多人知道这种方法,但还是没有去使用领会它! 有很多人认为自已记性不好,学什么忘什么,感觉自己的大脑是一个摆设,其实每个人记 ...

  6. 艾宾浩斯记忆表格excel_考研干货 | 如何使用艾宾浩斯曲线帮助记忆知识

    背法条,背讲义,背笔记,背课本······ 不管是日常学习,还是司考.考研,背诵对于法律专业学习的重要性都是不言而喻的.特别是对于那些准备司考和考研两手抓的小伙伴们来说,复习的任务就更加艰巨,需要在比 ...

  7. 推荐背单词最有效的方法:使用艾宾浩斯记忆曲线背单词

    推荐背单词最有效的方法:使用艾宾浩斯记忆曲线背单词! 1.英语学习的根本难点在哪里? 答:是遗忘.记忆过程往往是建立在重复基础上,由"记忆-遗忘-再记忆"组成.以单词学习为例,通常 ...

  8. 艾宾浩斯记忆遗忘曲线-背单词

    复习点的确定(根据艾宾浩斯记忆曲线制定): Joe.Smith法-背单词-复习曲线 1. 第一个记忆周期:5 mins  2. 第二个记忆周期:30 mins  3. 第三个记忆周期:12 hours ...

  9. 艾宾浩斯记忆曲线(遗忘曲线)

    德国心理学家艾宾浩斯(H.Ebbinghaus)研究发现,遗忘在学习之后立即开始,而且遗忘的进程并不是均匀的.最初遗忘速度很快,以后逐渐缓慢.他认为"保持和遗忘是时间的函数",他用 ...

最新文章

  1. ajax post 参数说明
  2. linux svn可视化,Ubuntu 14.04如何安装可视化SVN
  3. 【原理+实战+视频+源码】手撸SpringBoot缓存系统
  4. 网络服务器安全协议,ipsec 网络安全协议
  5. java过去配置文件的值_java对.properties配置文件操作
  6. 简单实现UITableView索引功能(中英文首字母索引)(一) ByH罗
  7. 多路RTSP-RTMP转RTMP定制版
  8. nginx ngx_core_module(main event)
  9. Flink_大数据技术之电商用户行为分析
  10. python数据类型_Python数据类型
  11. usbasp下载器制作
  12. 自动检测技术学习心得体会_关于传感器与检测技术的学习体会
  13. 信息系统集成监理费收取标准_信息产业部信息系统工程监理与咨询服务收费参考标准Word1...
  14. IT新人的辛酸反省与总结
  15. Surfaceview调用Camera实现拍照
  16. 服装行业如何做软文营销推广产品?
  17. 【操作系统】CSAPP学习笔记
  18. python可视化开发
  19. VPS和云服务器的区别
  20. Excel获取指定数字格式文本——TEXT函数及其用法

热门文章

  1. 【Java】UDP网络编程
  2. Android平台GB28181设备接入模块之球机/云台控制探究
  3. 摄影技术学习笔记(持续学习)
  4. 195本免费在线编程书籍
  5. <昆工>2019级学科竞赛进阶实训(程序设计)大作业
  6. OTP语音芯片SOP8的前世今生_如九齐_硕呈_钰绅等以及国产方案KT148A
  7. WebDriver框架之自动运行失败的case
  8. 整理ORACLE表空间文件
  9. Explaining Deepfake Detection by Analysing Image Matching 翻译
  10. 网站分析实战——如何以数据驱动决策,提升网站价值(大数据时代的分析利器)...