zoukankan      html  css  js  c++  java
  • 20200917-2 词频统计

    此作业的要求参见[https://edu.cnblogs.com/campus/nenu/2020Fall/homework/11206]
    github链接:https://github.com/hhwwxx11/20200917-2
    coding地址:https://kaixindebenxiaohaiya.coding.net/public/cipintongji/20200917-2/git/files
    词频统计 SPEC
    老五在寝室吹牛他熟读过《鲁滨逊漂流记》,在女生面前吹牛热爱《呼啸山庄》《简爱》和《飘》,在你面前说通读了《战争与和平》。但是,他的四级至今没过。你们几个私下商量,这几本大作的单词量怎么可能低于四级,大家听说你学习《构建之法》,一致推举你写个程序名字叫wf,统计英文作品的单词量并给出每个单词出现的次数,准备用于打脸老五。
    希望实现以下效果。以下效果中数字纯属编造。
    功能1 小文件输入。 为表明程序能跑,结果真实而不是迫害老五,请他亲自键盘在控制台下输入命令。
    重点难点:对于.py文件转成.exe文件不熟悉,感觉正则表达式是比较难的,刚开始学python,对很多语法什么的都不是很了解
    重要代码:

    def doCount(accept):
        s = '.txt'
        if s in accept:
            path = accept
        else:
            path = accept + '.txt'
        f = open(path, encoding='utf-8')
        words = re.findall(r'[a-z0-9^-]+', f.read().lower())
        count(words)
    

    功能2 支持命令行输入英文作品的文件名,请老五亲自录入。
    重点难点:判断输入的文件名中是否有.txt
    重要代码:

    def doCount(accept):
        s = '.txt'
        if s in accept:
            path = accept
        else:
            path = accept + '.txt'
        f = open(path, encoding='utf-8')
        words = re.findall(r'[a-z0-9^-]+', f.read().lower())
        count(words)
    

    功能3 支持命令行输入存储有英文作品文件的目录名,批量统计。
    重点难点:在文件夹下所有文件中读出.txt文件,并统计出来
    重要代码:

    def fileFindAndCount(path1):
        files = os.listdir(path1)
        for file in files:
            if file.endswith('txt'):
                if os.path.isfile(path1+"/"+file):
                   doSomeFileCount(path1+"/"+file)
    
    def doSomeFileCount(path):
        print(path)
        f = open(path, encoding='utf-8')
        words = re.findall(r'[a-z0-9^-]+', f.read().lower())
        count(words)
        print('----')
    


    功能4 从控制台读入英文单篇作品,这不是为了打脸老五,而是为了向你女朋友炫酷,表明你能提供更适合嵌入脚本中的作品(或者如她所说,不过是更灵活的接口)。如果读不懂需求,请教师兄师姐,或者 bing: linux 重定向,尽管这个功能在windows下也有,搜索关键词中加入linux有利于迅速找到。
    重点难点:理解重定向的作用,重定向符是操作系统实现的,不是程序实现的
    重要代码:

    def doCountByPurText(inputText):
        words = re.findall(r'[a-z0-9^-]+', inputText.lower())
        count(words)
    

    功能5 此功能为选做题,如果完成正确得30经验值,如果不做得0经验值,不会倒扣分数。
    你完成了所有功能,后面的博客、PSP等也都精心准备了,去食堂的路上心情大悦。坐下挠了挠手机访问cnblogs上的班级,却发现大家的作业也都非常优秀,自己并不突出,心下黯然。怎么才能更加杰出呢?一抬头,看到老杨老师和和邹欣老师正坐桌对面吃饭,你说出了自己的困惑。
    老杨说,“精益求精,一步步榨出自己的潜力来,正是走向杰出的开始啊。”
    你说,“老师你具体点呗。”
    邹欣老师说,“这样,我想知道5个字母的单词中最频繁出现的是哪10个单词,top10,你怎么办呢?”
    你一下就想到了,说了思路,应该blablabla。邹欣老师又问,“6个字母的单词中最频繁出现的是哪10个单词呢,top10?”
    老杨追问,“6个字母的字母的单词中最频繁出现的是哪100个单词呢,top100?”
    你问,“算法我想好了,性能估计也没问题,命令行参数老师怎么规定呢?”
    老杨说,"你来规定,写个简单的文档,包括如何运行,给出运行实例的截图。"
    "可变的参数就是(1)几个字母和(2)排行前多少是吧?没有问题。"
    此时,你想起自己一直做作业还没有吃饭。肚子咕咕叫得声音如此之大,把你吵醒了。是赶紧去吃饭呢,还是做完这题再说?
    功能实现
    (以上每1经验值对应 1分。)
    要求在同一个可执行程序中实现全部功能,而不是每个功能单独用一个可执行程序实现。

    PSP

  • 相关阅读:
    JQuery增加,替换,删除属性应用
    JQuery选择器
    响应式布局
    在 macOS 下备份/还原/重置 LaunchPad 布局
    使用 C# 和 OpenGL (SharpGL) 实现的一个简易画图版
    深入理解计算机系统 (CS:APP)
    深入理解计算机系统 (CS:APP) Lab2
    深入理解计算机系统 (CS:APP) 缓冲区漏洞实验 – Buffer Lab 解析
    ECNU 计算机系统 (CSAPP) 教材习题作业答案集
    计算机网络 Computer Networks​ 期末复习总提纲
  • 原文地址:https://www.cnblogs.com/houwx744/p/13709319.html
Copyright © 2011-2022 走看看