最近学习总是“三天打鱼,两天晒网”,自己也苦恼了很久,到底是什么原因呢?
百度、知乎逛了个遍,终于在知乎上找一篇文章自控力极差的人如何自救?,读完后觉得自己就是陷入了文中所说的那种死循环,“做计划->任务没完成->懊恼自责->做计划…”。
想了很久,自己为什么没有按照计划完成该完成的工作、学习任务?为什么到了该学习的时候转头去打游戏?打游戏能获得什么好处?
经过一段时间的思索,我觉得是因为打游戏能让我获得即时反馈(砍敌人一刀,他就掉一些血;推掉敌人水晶,就会出现Victory。)我花费二十分钟的时间打一局游戏,为的就是一个Victory,以获得心理上的快感。
那怎么能让这种快感出现在学习中呢?
为此,我写了这个小工具,希望能让我在学习中获得反馈,从而养成良好的学习习惯。
import matplotlib.pyplot as plt import matplotlib as mpl import os import sys import re import tkinter as tk import pandas as pd class Application: x = [] y = [] month = '01' def loadData(self, path="data.txt"): file = open(path, mode="r+", encoding="utf-8") dataList = file.readlines() for item in dataList: try: date, hour = re.split("\s+", item.strip()) self.x.append(date) self.y.append(float(hour)) except: self.month = re.split("\s+", item.strip())[0] self.x = pd.date_range('2021/'+self.month + '/01', periods=len(self.y)) print(self.x) print(self.y) file.close() def showImage(self): mpl.rcParams['font.sans-serif'] = ['SimHei'] mpl.rcParams['font.serif'] = ['SimHei'] mpl.rcParams['axes.unicode_minus'] = False plt.plot(self.x, self.y) text = "新的一月开始了,加油" span = self.y[-1] - self.y[-2] if len(self.y) > 1: if span > 0: text = "昨天战力飙升" + str(span)+"点,继续加油!" elif span < 0: text = "昨天战力下降" + str(-span)+"点,不能放任自己哦!" else: text = "与昨天战绩持平,继续加油!" plt.title(text+'\n2021年'+self.month + "月学习曲线", fontsize=15) plt.ylabel("小时") plt.gcf().autofmt_xdate() plt.show() if __name__ == "__main__": os.chdir(sys.argv[0] + os.path.sep + "..") print(os.getcwd()) app = Application() app.loadData() app.showImage()