zoukankan      html  css  js  c++  java
  • 计算与软件工程作业四

    作业要求 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10534
    课程目标 学习到更多关于软件编程的知识,通过这门课程提高动手实践能力
    此作业在哪个具体方面帮我实现目标 代码复审、结队编程
    其他参考文献 https://blog.csdn.net/qq_41764621/article/details/87364318?from=singlemessage&isappinstalled=0
    作业正文 https://www.cnblogs.com/shenlingha/p/12637052.html

    正文

    作业一

    每个人针对之前两次作业所写的代码,针对要求,并按照代码规范(风格规范、设计规范)要求评判其他学生的程序,同时进行代码复审(按照代码复审核表 https://www.cnblogs.com/xinz/archive/2011/11/20/2255971.html),要求评价数目不少于8人次,
    评价内容直接放在你被评价的作业后面评论中
    同时另建立一个博客,将你作的评论的截图或者链接,放在博客中,并在你的博客中谈谈自己的总体看法

    评论的截图:

    看法:通过评价其他同学的代码,在发现其他同学问题的同时,也发现了许多共同的问题,希望可以在以后的代码编写中,注意到这些问题,避免重复发生这些问题,包括代码的注释要尽量的简洁和增加可读性以及代码的缩进、缩进等问题。

    作业二

    参考结对编程的方法、过程(https://www.cnblogs.com/xinz/archive/2011/08/07/2130332.html)开展两人合作完成本项目
    实现一个简单而完整的软件工具(中文文本文件人物统计程序):针对小说《红楼梦》要求能分析得出各个人物在每一个章回中各自出现的次数,将这些统计结果能写入到一个csv格式的文件。
    进行单元测试、回归测试、效能测试,在实现上述程序的过程中使用相关的工具。
    进行个人软件过程(PSP)的实践,逐步记录自己在每个软件工程环节花费的时间。
    使用源代码管理系统 (GitHub, Gitee, Coding.net, 等);
    针对上述形成的软件程序,对于新的文本小说《水浒传》分析各个章节人物出现次数,来考察代码。
    将上述程序开发结对编程过程记录到新的博客中,尤其是需要通过各种形式展现结对编程过程,并将程序获得的《红楼梦》与《水浒传》各个章节人物出现次数与全本人物出现总次数,通过柱状图、饼图、表格等形式展现。
    《红楼梦》与《水浒传》的文本小说将会发到群里。
    注意,要求能够分章节自动获得人物出现次数

    作业过程:
    首先,到网上找的python的安装包,根据步骤下载python,然后打开cmd下载jieba库,将红楼梦小说txt保存到文件夹中,最后用python运行出结果。
    代码:

    import jieba
    #添加jieba分词
    mydict = ['琏二奶奶','凤哥儿','凤丫头','宝姑娘','颦儿','二姑娘','三姑娘','四姑娘','云妹妹','蓉大奶奶']
    for item in mydict:
        jieba.add_word(item)
    txt = open('d:python\红楼梦.txt',"r", encoding='utf-8').read()
    #定义别名列表
    bieming = [["林妹妹","黛玉",'林姑娘','林黛玉'],[ "宝钗" ,'宝姑娘','宝丫头',
    '宝姐姐','薛宝钗'],['元春','大姑娘','娘娘','贵妃','元妃','贾元春'],
    ['迎春','二姑娘','贾迎春'],['探春','三姑娘','贾探春'],['惜春','四姑娘',
    '贾惜春'],[ "王熙凤","凤丫头",'琏二奶奶','凤姐','凤哥儿','凤辣子'],['巧姐'],
    ['湘云','云妹妹','史湘云'],['妙玉'],['李纨','大嫂子'],['秦可卿','可卿','蓉大奶奶']]
    words=jieba.lcut(txt)
    counts={}
    for word in words:
        if len(word) ==1:
            continue
        else:
            counts[word] = counts.get(word,0)+1
    #计算出场次数(各个别名的合计次数)
    lst=list()
    for i in range(12):
        lt=0
        for item in bieming[i]:
            lt += counts.get(item,0)
        lst.append(lt)
        
    twelvechai= ['林黛玉','薛宝钗','贾元春','贾迎春','贾探春','贾惜春','王熙凤','巧姐','史湘云','妙玉','李纨','秦可卿']
    items=list()
    for i in range(12):
        items.append([twelvechai[i],lst[i]])
    items.sort(key=lambda x:x[1], reverse=True) 
    for i in range(12):
        word, count = items[i]
        print ("{0:<10}{1:>5}".format(word, count))
    

    运行结果:

    柱状图及饼图、表格:

    码云链接:
    https://gitee.com/shen_ling_ha/codes/uh9qms48ndr6tbvlx7jif87

  • 相关阅读:
    EBS SQL > Form & Report
    oracle sql 优化分析点
    MRP 物料需求计划
    MRPII 制造资源计划
    Barcode128 应用实务
    Oracle SQL语句优化技术分析
    APPSQLAP10710 Online accounting could not be created. AP Invoice 无法创建会计分录
    Oracle数据完整性和锁机制
    ORACLE Responsibility Menu Reference to Other User
    EBS 常用 SQL
  • 原文地址:https://www.cnblogs.com/shenlingha/p/12637052.html
Copyright © 2011-2022 走看看