带训练轮的python:任何语言中的可执行伪代码。

avantp的Python项目详细描述


前卫

带有training wheels的python,任何语言的executable伪代码。

:警告:4月7日,我决定把这个项目中处理 将回溯简化为自己的项目。在接下来的几周内,我将暂时 停止使用Avantpy。当“友好回溯”基本完成时,工作将恢复。

感兴趣的人应该去https://aroberge.github.io/friendly-traceback-docs/docs/html/index.html(代码:https://github.com/aroberge/friendly-traceback

请参阅https://aroberge.github.io/avantpy/docs/html/了解更多信息,包括 希望贡献或提出问题的人。 先锋使用黑色。 Black logo

什么是先锋

  • avantpy是一个方言的集合,每个方言都是python的超集,旨在使在给定的人类语言中学习编程概念更容易。
    • 每种方言都由给定人类语言中大多数python关键字的翻译组成,并辅以一些旨在使某些编程概念更易于学习的附加构造。
    • 目前的版本包括三种方言:英语、法语和西班牙语。 目前所做的翻译可能会有变化;请随时提出建议,以供选择使用。
  • avantpy是一个预处理器,它接受一个完全或 在执行之前将其转换为标准的python。
    • 语法上有效的程序可以包含用普通python和特定方言编写的混合代码。这是为了简化向学习python的过渡。
  • avantpy是作为一个标准的python模块/包编写的,可以在任何“普通”python环境中使用。因此,它可以作为给定 编辑器,或使用命令行中的标准python解释器运行。
  • avantpy还包括一个工具,可以将用给定方言编写的程序转换为标准python,显示两者之间的差异,从而帮助有动机的用户过渡到只使用标准python。
  • vavuty还包括一个自定义的RePL,可以使用任何现有的方言。

avantpy使用Friendly-traceback来处理python回溯,并将它们转换为对初学者更容易理解的反馈。

给谁的

主要的目标受众是那些不懂英语的学生,他们在 教练。

可执行伪代码

python通常被描述为可执行伪代码。一旦人们学会了一些习惯用语,比如for variable in range(n),将用英语编写的伪代码翻译成python通常非常简单。

如果伪代码不是用英语编写的,那么翻译过程至少在最初是不那么简单的,因为将原始语言翻译成python的英语需要额外的心理步骤。

尽管python关键字的数量很少,但对于正在学习编程概念(控制流结构、定义函数等)的绝对初学者来说,能够使用一种使用自己语言中易于理解的关键字的语言绝对可以促进学习过程。 这是使用基于块的环境的人所采取的方法 (划痕、块状等)由教育专家研制 帮助学生学习编程概念。

实际上,许多在正式课程中学习计算机程序设计的学生可能再也不会使用程序设计了,如果是的话,可能很多年都不会使用程序设计了。如果有足够的时间,他们可能会忘记所学的大部分编程语法。 然而,如果他们首先用自然语言学习,他们可能会更好地保留编程概念

什么是训练轮

为了帮助初学者学习骑自行车,有时会使用training wheels。过了一会儿,新来的骑自行车的人 他们的自行车没有训练轮,需要接触地面才能提供 额外的支持。这与avantpy学习python的目的类似。

想象一下,我是一个讲法语的人,学会了用先锋派编程。 我的第一个程序可能是:

imprime("Bonjour !")

稍后,我可能会编写如下程序:

sicommande=='q'imprime("Au revoir !")

当我试图执行这样一个程序时,会收到以下错误消息:

Il y a une erreur de syntaxe dans ce programme dans la ligne contenant le code suivant:

    si commande == 'q'

Une instruction débutant avec le mot "si" doit terminer par deux points (:).
[Voir documentation-si.]

等效的英文版本为

There is a syntax error in this program at the line containing the following code:

    if commande == 'q'

A statement beginning with the word "if" must end with a colon (:).
[Relevant link to the documentation on "if" provided here.]

最后,我可能想学习一些“真正的”python代码。 一路上,我会使用提供的工具来展示 与用给定方言编写的代码相对应的真正python代码:

ifcommande=='q':# si commande == 'q':print("Au revoir !")#     imprime("Au revoir !")

准备好离开先锋,只写python。

行为准则

我们完全支持Python Community Code of Conduct 希望此项目的贡献者也这样做。

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

推荐PyPI第三方库


热门话题
在java中的字符串字符下打印星号(*)   java在比较数据后得到错误的结果   java如何在使用JSP创建的网站中创建父子关系和处理?   java配置单元UDF:无法执行求值方法   java GAE项目Intellij远程调试在关闭时不释放端口   java按钮上的放大和缩小功能点击JfreeChart折线图?   java Selenium Chrome Web驱动程序SessionNotCreatedException   java由ADFactoryBuilder生成的线程工厂是线程安全的吗?   java将字符串[]传递给另一个类Android(使用intent)   我为什么要嘲笑java?   JavaLiferay门户不将对象从流程阶段发送到jsp   java我想在单击每个树节点时将要添加的信息放入jpanel jscrollpane中   在Java中模拟数组引用(即对引用的引用)的按引用传递   Jackson将JSON属性反序列化为不同的Java对象   java使用JSP/servlet在网页上显示Excel工作表?   仿射变换Java:使用仿射变换时游戏速度减慢   Servlet JBoss AS 7的java EJB注入   在Oracle数据库中使用Java的plsql   java管理Maven项目中的库依赖项   JavaEclipseLink(JPA)异常:复合主键@JoinColumn