没有项目描述

memorize_flashcards的Python项目详细描述


memory flashcards提供了一个python模块和管理shell脚本 以问答卡片的形式管理个人“课程”。 这有助于记忆任何类型的东西-为历史考试而学习 学习新的语言。 管理工具提供数据库的内容,将“卡”文件放在 放置、散列等,而python模块提供“策略”- 每张卡片显示的频率。

一课

一堂课就是一次“练习”—例如,看30多张抽认卡, 就在睡觉前。 python模块“policy.py”负责为 一个教训。

一堂课通常应该包括用户使用的卡片 最不了解这是政策的职责-决定 在共产党的课上要打牌。

它使用卡片majorminor来完成这项工作。 大量的卡片可以告诉你下一堂课的进度 卡是。例如,值为“1”的专业意味着下一课应该 包含此卡,而主值'8'表示您将练习 这张卡有8节课。 卡片的minor值表示用户对卡片的了解程度。 值为1表示“不太好”,值为256表示“这张卡” 是用户大脑中的硬编码。 使用这两个值,策略应构成下一课。

表演中的一节课是展示一张牌,展示它的背面 (在按下某个键或等待一段时间后),然后 询问用户是否知道该卡。 然后根据策略更新主要/次要值

经典政策

假设我们有一张主要/次要值为1/2的卡所以在 委员会的教训卡将显示。 如果用户知道该卡,经典策略会将其推回到 遥远的教训有多远小调+大调,意思是3这意味着 知道一张卡片的时间会加倍直到再次看到它。未成年人 数字也增加了一倍,因此新的主/庄园值是3/4。 如果用户不知道该卡,则策略将显示 再上一课,展示的自由度应该很高, 所以在这种情况下,主/次数是2/1。

可以通过继承“policy”并实现 获取卡()并更新卡()。

例如,经典的策略更新卡功能看起来有些问题 例如:

def update_card(self, card, value):
        if (card in self.cards) or (card in self.used_pile):
                raise Exception("Illegal state- card must be out of pile and used pile when updated")
        #print "D: card lesson before: {}".format(card.lesson)
        if (value == True):
                card.lesson += card.period
                card.period *= 2
        else: # value == False
                card.lesson += 1
                card.period = 1
        self.used_pile.append(card)
        #print "D: card lesson after: {}".format(card.lesson)

客户

客户端是一个脚本,它使用策略模块和管理工具 实际展示卡片并使用策略和管理工具 更新数据库。

目前已经实现了一个非常基本的方法,即 记住Konsole客户端的抽认卡

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java数据不显示在FXML表中   java如何使整个JTable不可编辑   Java中的swing JTree JTable组合   Windows下的java诊断NIO DatagramChannel读取问题   java Dockerfile运行可执行文件   java手动初始化字节数组以测试更改   java Selenium Webdriver | DragAndDrop功能|也不例外,但代码不起作用   java Hibernate使用多对多关系和左连接多次加载同一实体?   java正在努力开发带有接口和泛型集的API   mongodb mongo java条件和如果不为null   Java程序不显示使用arduino ethernet shield在网页上发送的数据   java将JSONObject转换为JSONArray错误   java Box布局可以接受包含元素的大小吗?