谢谢你花时间看我的帖子,我现在是一个西班牙语班的学生,我想做一个学习工具来练习西班牙语动词的变化
在与代码学院顾问交谈后,他建议使用嵌套字典,您可以在下面的代码中看到
我不熟悉这些字典,需要帮助!在轮班结束前,代码学院顾问对随机性进行了短暂的检查。以下是我希望在游戏中实现的3个主要功能:
让程序随机选择动词、时态和文章
让程序询问用户输入并提出问题,例如,“动词的(时态)(冠词)形式是什么?”
让程序响应,说“正确!”或“错误!”
一些例子:
例1:
课程问题:目前的hacer形式是什么
用户输入:Hago
程序响应“正确!”
例2:
节目问题:现在的哈瑟形式是什么
用户输入:Haces
程序响应“正确!”
例3:
课程问题:hacer的形式是什么
用户输入:Hece
程序响应“不正确!”
这是我目前的字典
import random
verbs = {
'hacer': {
'present':{
'yo': 'hago',
'tu': 'haces',
'elellausted': 'hace',
'nosotros': 'hacemos',
'ellosellasuds': 'hacen'
}
, 'preterite':{
'yo': 'hice',
'tu': 'hiciste',
'elellausted': 'hizo',
'nosotros': 'hicimos',
'ellosellasuds': 'hicieron'
}
}
'tener': {
'present':{
'yo': 'tengo',
'tu': 'tienes',
'elellaud':'tiene',
'nosotros':'tenemos' ,
'ellosellasuds':'tienen'
}
, 'preterite':{
'yo': 'tuve',
'tu': 'tuviste',
'elellausted': 'tuvo',
'nosotros': 'tuvimos',
'ellosellasuds': 'tuvieron'
}
}
}
感谢所有能帮助我的人!我刚开始编程,但我已经做了大约6个月的网站设计了。我愿意学习,任何帮助都将不胜感激
如果你想建立一个skype电话的某种形式或聊天,这将是非常感谢,我会非常愿意
再次感谢您的阅读
我有几分钟的时间,这里有一些代码可以帮助你开始。它首先创建可能的冠词、动词和时态的列表(这些可以使用for循环找到,也可以由您手动输入)。然后它使用
random
模块从这些列表中选择一个随机条目。然后,我们询问用户的答案,如果他们答对了,我们会给他们一个新的问题,并允许他们再试一次。 如果你有什么不明白的,请告诉我TL;博士
我在Windmill的代码中添加了一些功能——一个保存的动词分数计数器,有助于区分低分数变化的优先级,一些可以跳过或退出的选项,我将dict作为json保存在一个文件中,我还添加了一些关于webscraping动词的建议
学习工具
用例
请注意,我在搜索相同的通用用例时发现了这篇文章
也就是说,“我想学习X语言中的动词,并通过使用一个小程序进行改进。”
具体来说,我在学习葡萄牙语时还需要一个动词变位学习工具。葡萄牙语在几个方面与西班牙语相似,其中一个是动词变位
我还考虑了一个事实,即你需要一个动词变位研究工具,我认为这就是问题通常所指的-这个工具的使用不仅限于西班牙语。从这个问题中,我了解到学习工具应该帮助你学习-例如,在学习过程中与一起调整,并对你不断出错的单词进行优先排序,应该很容易理解它的工作原理
针对弱点的设计
基本上,我们希望跟踪我们的分数以针对我们的弱点,否则程序将回到我们已经熟悉的动词*。我认为这在这样的研究工具中很重要,否则使用它将是浪费时间
*添加动词是规则动词还是不规则动词的信息可能是个好主意。这样,我们就能够在某种时态的规则形式被很好地理解之后,对不规则动词进行优先排序好的,“这里”可以由工具的用户以启发式或经验的方式决定,作为一个研究问题。两者都取决于用户的需求和工具存储的信息
获取数据
首先,我们需要动词表数据
您可以选择手动输入数据,这需要大量的繁琐和耐心,或者自动输入数据,如果您不懂网络垃圾,则需要愿意学习。我建议您使用python查找webscraping,这样您就可以学习使用一些库(如requests和lxml或beautifulsoup)构造获取动词所需的基本命令。这取决于你决定浏览哪个网站,因为有很多在线词典可以浏览动词屈折变化的信息
数据格式选择
保存刮取的数据时,您有一些选择
json如果您想使用字典,我建议将其保存为json文件并使用python json库加载。这样您就可以将文件与代码分开
因此,在名为
spanish_verbs.json
的文件中,动词看起来像这样:因此,现在不必在程序中使用动词,您可以使用以下简单的方法加载它们:
csv否则,我会将数据保存为csv或tsv,并使用熊猫之类的东西加载文件
程序操作和接口
当前接口基于终端。如果您想更进一步,可以使用tkinter或wxpython之类的东西来构建GUI
启动程序
从终端启动程序:
行动
您可以使用以下操作之一:
或
关于选项,您可以选择
q-保存进度并退出
p-传递并显示用户无法记住的动词
这些选项假定不应该有任何称为q或p的动词
记录分数
还有一个动词在程序中对数据框进行评分,该数据框将更新,并在您完成所有动词一次后,从一组最差的5个评分动词中跟踪和训练您的随机动词
评分规则
评分规则如下:
键入正确答案将为动词的正确累积分数增加一分
键入错误答案将使动词的错误累积分数增加一分
及格将使动词的错误累积分数增加一分
上述任何操作都会将一个添加到总变量中,该变量会被跟踪以检查错误/正确答案的百分比
代码
代码如下:
示例输出
程序输出如下所示:
在你看完所有可能的动词后,它将开始浏览你最容易出错的前5个动词
分数档案
您还可以访问名为
verb_scores.tsv
的动词分数文件,该文件是在用户点击q保存并退出后由程序创建和更新的。通过这种方式,您可以通过将tsv导入某些电子表格软件(例如)来跟踪进度相关问题 更多 >
编程相关推荐