您当前所在的位置: 首页 -> 课程思政 -> 课程思政案例 -> 正文

​《三国演义》人物出场统计

发布日期:2022年09月15日 15:12  来源:   点击量:

《三国演义》人物出场统计

讲授课程:Python语言程序设计基础

讲授章节:第六章 组合数据类型

切入点:jieba是Python中一个重要的第三方中文分词函数库,分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组。

讲授目的及效果:通过讲述jieba库和《三国演义》人物出场统计实例,激发学生对中华民族传统文化的兴趣,引导学生将爱国和维护国家统一作为一种习惯和荣耀。

三国演义是中国古典四大名著之一,以描写战争为主,反映了东汉末年的群雄割据混战和魏、蜀、吴三国之间的政治和军事斗争,并由此引出“天下大势、分久必合、合久必分”和“天下大势,合久必分、分久必合”的结论,说明了中国人民希望统一、拥护统一的思想与行动,促成了中国历史统一多于分裂的局面。《三国演义》这种“分久必合”的思想给出了有益的启示。

那么在《三国演义》这本鸿篇巨著中,哪些人物尤为重要,出场次数最多,可以通过引入jieba库进行词汇的统计,具体实例如下:

import jieba

excludes = {"将军","却说","荆州","二人","不可","不能","如此"}

txt = open("threekingdoms.txt", "r", encoding='utf-8').read()

words  = jieba.lcut(txt)

counts = {}

for word in words:

    if len(word) == 1:

        continue

    elif word == "诸葛亮" or word == "孔明曰":

        rword = "孔明"

    elif word == "关公" or word == "云长":

        rword = "关羽"

    elif word == "玄德" or word == "玄德曰":

        rword = "刘备"

    elif word == "孟德" or word == "丞相":

        rword = "曹操"

    else:

        rword = word

    counts[rword] = counts.get(rword,0) + 1

for word in excludes:

    del counts[word]

items = list(counts.items())

items.sort(key=lambda x:x[1], reverse=True)

for i in range(10):

    word, count = items[i]

    print ("{0:<10}{1:>5}".format(word, count))

运行程序后,输出结果为:曹操 1451;孔明 1383;刘备:1252;关羽:784;张飞:358。由此可以获得结论,“曹操”、“孔明”和“刘备”是《三国演义》中出场次数最多的人,通过描述这些关键人物之间的政治和军事斗争的过程,历史最终走向统一。

作为当代青年,我们更应当发扬爱国精神,维护国家统一的价值观,并使之成为我们不断奋斗的伟大信念。

(作者:沈红岩

上一条:淘宝天猫双11海量数据处理——数据库技术的发展
下一条:智慧生活,我用python

关闭