python应用之复习计划生成器

python应用之复习计划生成器

原理:艾宾豪斯遗忘曲线

#ecoding=utf-8
from xlwt import Workbook
import datetime
w =Workbook()#创建一个工作簿
ws = w.add_sheet('1') #创建一个工作表
dayl=[1,2,4,8]
word_number=int(input("请输入任务数(不大于15):"))
exam_date=input("请输入您的考试日期(格式为:2019/1/1):")
subject_name=input("请输入您的考试科目:")
year,month,day=exam_date.split("/")

total_day=word_number+8
letter_l=[chr(i) for i in range(65, 65+word_number)]

exam_date=datetime.date(int(year),int(month),int(day))
today_date=datetime.date.today()
diminish_date=str(exam_date.__sub__(today_date).days)
print('今天距考试还有'+diminish_date+'天,本计划共需要'+str(total_day)+'天完成复习,建议您从'+str(exam_date+datetime.timedelta(days=-(total_day+1)))+'开始复习'+subject_name)

ws.write(1,0,'需要复习')
ws.write(2,0,'打卡情况')
for i in range(1,total_day):
    ws.write(0,i,i)

for i in range(1,total_day):
    s = ""
    for t in dayl:
        if i - t >= 0 and i - t <len(letter_l):
            s += letter_l[i - t]
    ws.write(1, i, s)
save_path='/home/sun/桌面/复习计划'+subject_name+str(word_number)+'章版.xls'
w.save(save_path)
print(subject_name+'复习计划表已生成!存储位置:'+save_path)


效果如下:
在这里插入图片描述
在这里插入图片描述
2019.12.16更新:新增了可选择复习的轮数和预留做题的天数!

#ecoding=utf-8
from xlwt import Workbook
import datetime
w =Workbook()#创建一个工作簿
ws = w.add_sheet('1') #创建一个工作表
dayl=[1,2,4,8,15,30]
word_number=int(input("请输入任务数(不大于15):"))
times_number=int(input("请输入您要复习的轮数(不大于6轮):"))
exercise_number=int(input("请输入您希望预留的做题天数:"))
exam_date=input("请输入您的考试或希望完成复习的日期(格式为:2019/1/1):")
subject_name=input("请输入您的考试科目:")
year,month,day=exam_date.split("/")

total_day=word_number+dayl[times_number-1]
letter_l=[chr(i) for i in range(65, 65+word_number)]
dayl=dayl[0:times_number]
exam_date=datetime.date(int(year),int(month),int(day))
today_date=datetime.date.today()
diminish_date=str(exam_date.__sub__(today_date).days)
print('今天距考试还有'+diminish_date+'天,本计划共需要'+str(total_day+exercise_number)+'天完成复习'+',其中预留'+str(exercise_number)+'天做题,建议您从'+str(exam_date+datetime.timedelta(days=-(total_day+1)))+'开始复习'+subject_name)

ws.write(2,0,'需要复习')
ws.write(3,0,'打卡情况')
for i in range(1,total_day):
    ws.write(1,i,i)

for i in range(1,total_day):
    s = ""
    for t in dayl:
        if i - t >= 0 and i - t <len(letter_l):
            s += letter_l[i - t]
    ws.write(2, i, s)
s=subject_name+'考试日期为'+str(exam_date)+',本计划共需要'+str(total_day+exercise_number)+'天完成复习'+',其中预留'+str(exercise_number)+'天做题,建议您从'+str(exam_date+datetime.timedelta(days=-(total_day+1)))+'开始复习'
ws.write(0,0,s)



save_path='/home/sun/桌面/复习计划'+subject_name+str(word_number)+'章版.xls'
w.save(save_path)
print(subject_name+'复习计划表已生成!存储位置:'+save_path)


效果如下:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值