利用艾宾浩斯遗忘曲线生成单词背诵计划表

# 以下代码根据需背诵list总数(listcount)、复习间隔天数(days)
# 来自动生成单词背诵规划表,包括背诵周期、某天应学习复习list。
# 可以根据自身需求修改以上两个参数值

import  datetime

# 复习list的个数 
listcount =  22
# 复习间隔
days = [1,2,4,7,15]
# 用于保存每日应新学习、应复习的list
List = [ [] for i  in range(listcount+max(days))]

# 获取当天时间
today = datetime.datetime.now()

# 将每天需要新学习和复习的内容一次保存到List中
for i in range(listcount):
    List[i].append("list"+str(i+1))
    for j in days:
        List[i+j].append("list"+str(i+1))

# 表头等格式打印    
print("学习周期:%d天\n%22s%-10s"%(len(List)," ","今日应学习"),end="")
for i in range(len(days)):
    print("%-10s"%("今日应复习"),end="")
print()

# 打印日期及所对应List
for i in range(len(List)):
    Day=(today+datetime.timedelta(i)).strftime("%Y-%m-%d")
    print("第%-2d天 %s"%(i+1,Day),end="  :  ")
    if(i+1>listcount):
            print("%15s"%(""),end="")
    for j in range(len(List[i])):
        print("%-13s"%(List[i][-(j+1)]),end="  ")
    print()

结果如下: