美文网首页
Python:根据艾宾浩斯遗忘曲线计算复习日期

Python:根据艾宾浩斯遗忘曲线计算复习日期

作者: 水木的编程那些事儿 | 来源:发表于2020-08-29 15:57 被阅读0次

前言:最近开始复习考研英语了,每天做阅读记笔记,同时每天需要复习前几天的笔记,考虑到艾宾浩斯遗忘曲线这个东西,便写了一个小脚本来计算每一天记录的笔记需要复习的日期。

函数说明:函数review_time的输入是记笔记的日期,输出就是需要复习这一天笔记的那些天的日期。

函数定义如下:

import datetime
def review_time(today):
    delta_list = [1,1,2,2,3,4,5,5] # 每两天复习的间隔
    review_day = []
    new_day = datetime.datetime.strptime(today, '%m-%d')
    for day in delta_list:
        new_day = datetime.datetime.strptime(new_day.strftime('%m-%d'),'%m-%d') + datetime.timedelta(days=day)
        review_day.append(new_day.strftime('%m.%d'))
    print('today is ', today, 'review days are', review_day)

用法如下:

# 输入
review_time('08-28')
review_time('08-29')
review_time('08-30')

# 输出
today is  08-28 review days are ['08.29', '08.30', '09.01', '09.03', '09.06', '09.10', '09.15', '09.20'] 
today is  08-29 review days are ['08.30', '08.31', '09.02', '09.04', '09.07', '09.11', '09.16', '09.21']
today is  08-30 review days are ['08.31', '09.01', '09.03', '09.05', '09.08', '09.12', '09.17', '09.22']

用法解释:如果我在8.28那一天作了笔记,那么这一天的笔记需要在8.29, 8.30, 9.1, ... , 9.20日这几天进行复习,每天过一遍。

补充:复习日期之间间隔时间(天数)可以通过delta_list来进行设定,我这里设定的是[1,1,2,2,3,4,5,5],大家可以自行安排其他间隔时间。

本篇笔记记录完毕,祝考研人都能上岸!

相关文章

网友评论

      本文标题:Python:根据艾宾浩斯遗忘曲线计算复习日期

      本文链接:https://www.haomeiwen.com/subject/mshjsktx.html