python古诗朝代_用 Python 编写中国历史知识库,此时不用中文命名变量更待何时?...

原标题:用 Python 编写中国历史知识库,此时不用中文命名变量更待何时?

早先想做个以中国历史为背景的小游戏,但苦于没找到现成已结构化的历史数据。理想中的需要有人物(包括基本信息、人物关系)、事件(包括时间、地点)等等。

加上后来想尝试将少儿编程与传统学科(尤其是文科)结合起来,于是试着用 Python 代码记录历史数据并提供查询功能。有几个优势:

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

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

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

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

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

比如这样:

Array.prototype.diff = function(a) {

return this.filter(function(i) {return a.indexOf(i) < 0;});

};

消失国家 = 国家所属时期[朝代.春秋].diff(国家所属时期[朝代.战国])

console.log("春秋消失的国家: " + JSON.stringify(消失国家))

可以输出:

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

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

注意:全部变量采用了中文命名,原因很简单,用的到这个代码的开发者必然会中文咯。

// 来源: 中国少儿百科全书-历史大观: 河姆渡文化-郑和下西洋

var 朝代 = Object.freeze({

新石器: "新石器时代",

东周: "东周",

春秋: "春秋时期",

战国: "战国时期",

秦: "秦朝",

西汉: "西汉",

东汉: "东汉",

三国: "三国时期",

隋: "隋朝",

<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值