python单词表-杨鹏记单词法安排表自动生成算法(Python实现)
这几天在寻思着要背托福词汇,找了个方法想试一试,这个方法就是杨鹏单词记忆法,是一种根据艾宾浩斯遗忘曲线的规律来制定的学习方法,有兴趣的可以点击https://www.douban.com/note/222850799/或者百度了解一下,下面则简单说明要怎么来生成这个计划列表
根据这个记忆方法,每一个list都要当天背完后分别相隔一天,两天,四天,七天,十五天进行复习,所以要在之后能够及时复习,则需要一个时间表来记录每天要背到的list。然而这个时间安排表若用手工来制作,这会耗费很多精力和时间,而且还会容易出错,不过好在这个记法是有规律的,作为一只好吃懒做的程序猿,怎么可能像个机器一样去记录呢,肯定要交给机器做嘛(奸笑)
不过想出这个生成安排表算法也着实花费了不少精力,下面简单说一下算法的小原理
首先要生成所背词汇书的list,以及所需要花费的天数,这个其实可以写成程序算,但是为了偷懒,还是自己口算,反正也没有多少天。
第二步是根据每个日期建立一个列表,然后进行list添加,这里添加list的规律是根据记忆法来的,这里我用的是后推法,即用后面的日期去推之前积累到该天的list,在最后一个list之前(例如第96个list)和之后的判断都有所不同
鄙人不才,还是贴上代码吧
import datetime
b = []
prepare_list = locals()
for i in range(1,97,1):
a = "list_"+str(i)
b.append(a)
begin = datetime.date(2018,8,16)
end = datetime.date(2018,12,19)
a = []
for k in range((end-begin).days+1):
day = begin+datetime.timedelta(days = k)
a.append(str(day))
for j in range(0,125,1):
prepare_list[a[j]] = [a[j]]
if(j<96):
prepare_list[a[j]].append(b[j])
if((j-1)>=0):
prepare_list[a[j]].append(b[j-1])
if((j-3)>=0):
prepare_list[a[j]].append(b[j-3])
if((j-7)>=0):
prepare_list[a[j]].append(b[j-7])
if((j-14)>=0):
prepare_list[a[j]].append(b[j-14])
if((j-29)>=0):
prepare_list[a[j]].append(b[j-29])
if(j>=96):
if((j-1)<96):
prepare_list[a[j]].append(b[j-1])
if((j-3)<96):
prepare_list[a[j]].append(b[j-3])
if((j-7)<96):
prepare_list[a[j]].append(b[j-7])
if((j-14)<96):
prepare_list[a[j]].append(b[j-14])
if((j-29)<96):
prepare_list[a[j]].append(b[j-29])
print(prepare_list[a[j]])
python单词表-杨鹏记单词法安排表自动生成算法(Python实现)相关推荐
- python写一个记单词程序_杨鹏记单词法安排表自动生成算法(Python实现)
这几天在寻思着要背托福词汇,找了个方法想试一试,这个方法就是杨鹏单词记忆法,是一种根据艾宾浩斯遗忘曲线的规律来制定的学习方法,有兴趣的可以点击https://www.douban.com/note/2 ...
- Python之Excel使用实现BOM表自动生成工具
工具背景 由于工作过程的繁杂性,工作内容的复杂性.急需一个工具来自动的完成重复的工作.作为硬件工程师,应该都知道,每个作品完成后,在加工之前必须导出BOM表,然后整理出来可以上传到ERP或者符合公司的 ...
- mooc数据结构与算法python版第十一周作业_中国大学 MOOC_数据结构与算法Python版_2020最新答案学习指南...
中国大学 MOOC_数据结构与算法Python版_2020最新答案学习指南 更多相关问题 [判断题]实际集成运放的上限截止频率为无穷大 [多选题]现代城市的发展凸现出与以往不同的动力机制包括 教师在引 ...
- mooc数据结构与算法python版期末测验_中国大学MOOC(慕课)_数据结构与算法Python版_测试题及答案...
中国大学MOOC(慕课)_数据结构与算法Python版_测试题及答案 更多相关问题 采用fopen()函数打开文件,支持文件读取的参数有: [简答题]简单阐述高分子材料热-机械特征及成型加工的关系,并 ...
- python数据库开发 dga_使用深度学习检测DGA(域名生成算法)——LSTM的输入数据本质上还是词袋模型...
from:http://www.freebuf.com/articles/network/139697.html DGA(域名生成算法)是一种利用随机字符来生成C&C域名,从而逃避域名黑名单检 ...
- python语言输入杨辉三角_?新手求教:请问怎样用python 显示杨辉三角,任意输入一个数N,输出一个N 1层的杨辉三角。...
如何用python输出杨辉三角 iangles里用到了yield,yield 的作用就是把一个函数变成一个 generator 用python语言输出九九乘法表 杨辉三角 求代码 1.九九乘法表def ...
- python 按条件选择行和列数据_小白学数据结构-排序算法Python(冒泡、选择、快速、希尔等等)...
排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存. 我们通常所说的排序算法往往指的是内部排序算法,即数据 ...
- python两个excel字段模糊匹配_Excel模糊查找中使用的算法 - python
我正在匹配两个公司的公司名称.我试图用Levenstien的距离在Python中进行编码.我遇到公司简称以及诸如Pvt,Ltd之类的尾随问题.我已经使用Excel Fuzzy查找运行了相同的集合,并获 ...
- VS 2019 MFC CRC16校验算法例程总结(计算法/查表法以及CRC16校验表自动生成)
工程需要,根据网上例程对CRC16校验方法进行了总结.CRC16为通讯领域常用的校验算法,其原理想必大家都很清楚.下面为相关的总结和封装类代码.被例程将CRC16校验的方法分为及算法和 ...
最新文章
- 线性代数:05 实对称矩阵与二次型
- Python 打包 exe 程序避坑指南:没有安装包也能运行小程序啦~开心
- python2和python3的主要区别
- Qt样例学习1(数字时钟)
- ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
- C#获取网上图片的宽高代码
- 使用Eclipse开发基于SSH三大框架的Web项目带图详解
- python async_python async
- 一个简单的python爬虫,以豆瓣妹子“http://www.dbmeizi.com/category/2?p= ”为例
- 将你的vim打造成轻巧强大的IDE
- 苹果手机白屏_苹果手机白屏怎么处理啊
- 电脑win7系统开机密码忘记
- PIC16F877A与Proteus仿真-2位7段数码管驱动
- 购物网站HTML(首页)
- 算法编程10:岛屿的最大面积
- vscode 源代码管理窗口显示空白
- Unity Gate Fit
- C# 里弹出“确定”“取消”对话框
- mysql中select使用方法,MySQL中select语句介绍及使用示例
- Android系统打不开,如何修复它:Android手机无法启动