python数学编程中文版_用中文写 Python 和 JavaScript 把数学、历史知识程序化

将中文教科书知识(从小学开始)用程序+数据整理表达, 比如梯形定义,面积, 主谓宾语法, 电流公式, 煤矿富集的省份, 19xx年发生的历史事件等等. 感觉与前文的学科结合手段有点接近, 范围也许更广.

感觉这样的项目做大了就会接近wolfram知识库, 优势是开源, 中文化和更侧重中国相关的数据. 下面从数学和历史两个方向做了非常初步的尝试.

数学

尝试从人教版小学数学一年级上册开始, 但也许从更高年级开始更有可行性(更容易程序化).

"准备课"中的认知部分, 如认识上下左右前后, 算法识别不现实. 比多少的部分, 在没有加减能力的前提下, 通过将两组物品进行1:1的摆放, 定义了"同样多", "A比B多/少"的概念. 因此也模拟此过程, 避免使用加减法和数字大小比较, python3实现如下:

24d92362c20c4d162be9554cf22ea499.png

历史

先用Python3, 后用JavaScript (因为想和“通过浏览器插件实现一个计算/编程工具” · Issue #61 · program-in-chinese/overview结合)编写历史数据, 感觉有几个优势:

数据是文本格式, 易于合作编辑

易于扩展和重构, 相比数据库, 可以更方便地增减/修改数据之间的关系

编辑时可以借助IDE的自动补全, 语法错误等功能, 减少笔误

易于编写自动测试以保证一些基本检验规则, 比如朝代没有重合部分, 先辈出生日期肯定早于后辈, 等等.

易于直接使用数据进行分析:

比如这样:Array.prototype.diff = function(a) { return this.filter(function(i) {return a.indexOf(i) < 0;});};消失国家 = 国家所属时期[朝代.春秋].diff(国家所属时期[朝代.战国])console.log("春秋消失的国家: " + JSON.stringify(消失国家))

输出:

春秋消失的国家: ["晋国","宋国","吴国","越国","鲁国"]

下面是源码(由于过长,仅头尾节选), 仅作原型演示之用, 如果正式开始项目会采用更翔实的史实参考来源(如教材). 数据结构设计等等很不成熟, 请多指摘, 尤其是TODO部分.

a02e10ad9f3b9a2d57d044c0c88403fb.png

cfa8ec878aa337e0be71ca9354a30746.png

注:文中代码可分别在 Python3 和 JavaScript 运行,因为它们早就支持中文命名标识符(变量、方法、类名等等)。

用中文编程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值